Pertanyaan Bagaimana cara menghapus direktori yang tidak kosong di Terminal?


Bagaimana cara menghapus direktori berikut?

Saya mengetik:

rmdir lampp

Kesalahan ini muncul:

rmdir: failed to remove `lampp': Directory not empty

Apakah ada perintah untuk menghapus semua file di direktori dan menghapus folder direktori?


539
2017-11-16 04:37


asal


Saya tidak dapat menghapus direktori seperti "Folder Baru" menggunakan semua perintah rinci di atas. Ini kata ganda. Tetapi saya ingin menghapus direktori itu. Ada saran yang akan diterima. T.Divakara, Bengaluru, India
Ini adalah ruang kosong di nama file, coba gunakan 'tanda kutip'> rmdir 'Folder Baru' <kemudian folder disapers, atau gunakan karakter escape untuk karakter yang tidak dapat dilihat. - Ken Mollerup
Baru saja melakukan rm -r lampp akan melakukan. - John Strood


Jawaban:


Gunakan perintah di bawah ini:

rm -rf lampp

Ini menghapus semua file dan folder yang ada di lampp direktori.

Jika pengguna tidak memiliki izin untuk menghapus folder:

Menambahkan sudo di awal perintah:

sudo rm -rf folderName

Kalau tidak, tanpa sudo Anda akan dikembalikan izin ditolak. Dan ini adalah praktik yang bagus untuk mencoba untuk tidak menggunakannya -f saat menghapus direktori:

sudo rm -r folderName

Catatan: ini diasumsikan Anda sudah berada pada level yang sama dari folder yang ingin Anda hapus di terminal, jika tidak:

sudo rm -r /path/to/folderName

FYI: Anda bisa menggunakan huruf -f, -r, -v:

  • -f = untuk mengabaikan file yang tidak ada, tidak pernah meminta
  • -r = untuk menghapus direktori dan isinya secara rekursif
  • -v = menjelaskan apa yang sedang dilakukan

755
2017-11-16 05:19



Menurut pendapat saya, ini adalah praktik yang baik untuk tidak pernah menambahkan "f" pada upaya pertama. Tujuannya adalah untuk mengabaikan petunjuk peringatan tertentu yang mungkin penting, terutama jika Anda tidak sengaja melakukannya di / dari direktori yang salah. Menurut pendapat saya itu baik untuk mencoba tanpa "f" pertama, maka hanya jika Anda menemui banyak petunjuk peringatan dan Anda yakin tidak apa-apa untuk mengabaikan mereka semua, Ctrl + C keluar dari itu dan ulangi perintah dengan " f ". - thomasrutter
@BKSpurgeon tidak kecuali Anda secara tidak sengaja mengetik --no-preserve-root terlalu. - muru
@thomasrutter ... Setuju. Pemilik file "xxx": akar  dan grup: akar dapat dihapus dengan -f beralih; dan tanpa sudo. Ini adalah pesan tanpa itu -f: "rm: hapus file biasa yang dilindungi penulisan ‘/home/william/.cache/netbeans/v08.01/tmp/xxx’? _ ". _Baca dengan lembut. - will


rm -R lampp

Namun, Anda harus berhati-hati dengan perintah rekursif seperti ini, karena mudah untuk secara tidak sengaja menghapus lebih banyak dari yang Anda inginkan.

Sebaiknya selalu periksa kembali direktori mana yang Anda gunakan, dan apakah Anda mengetikkan perintah dengan benar, sebelum menekan Enter.

Versi lebih aman

rm -R -i lampp

Menambah -i membuatnya sedikit lebih aman, karena akan meminta Anda untuk setiap penghapusan. Namun, jika Anda menghapus banyak file, ini tidak akan sangat praktis. Tetap saja, Anda bisa mencoba ini dulu.

Catatan tentang  -f  pilihan:

Banyak orang menyarankan untuk menggunakannya -f (menggabungkannya ke dalam -Rf atau -rf), mengklaim bahwa itu menyingkirkan petunjuk yang mengganggu. Namun, dalam kasus normal Anda tidak membutuhkannya, dan menggunakannya untuk menekan beberapa masalah yang mungkin Anda alami melakukan ingin tahu tentang. Saat Anda menggunakannya, Anda tidak akan diperingatkan jika argumen Anda menyediakan direktori atau file yang tidak ada: rm hanya akan diam-diam gagal menghapus apa pun. Sebagai aturan umum, coba dulu tanpa -f: jika ada masalah dengan argumen Anda, maka Anda akan melihat. Jika Anda mulai mendapatkan terlalu banyak pertanyaan tentang file tanpa akses tulis, Anda dapat mencobanya -f. Atau, jalankan perintah dari pengguna (atau superuser menggunakan sudo) yang memiliki izin penuh ke file dan direktori yang Anda hapus untuk mencegah petunjuk ini di tempat pertama.


89
2017-11-16 04:56



Catatan: huruf kecil -r dapat digunakan juga dan memiliki efek yang sama di sini. Saya hanya cenderung menggunakan huruf besar -R karena ini konsisten dengan perintah lain yang saya gunakan seperti grep dan chmod, beberapa di antaranya hanya mendukung bentuk huruf besar. - thomasrutter
Yang ini bekerja untuk saya menggunakan adb (android debug bridge) di Android. Sedang mencoba rm-rf tetapi tidak berhasil. Harus menggunakan rm -R. Terima kasih. - raddevus


Ada banyak cara untuk menghapus direktori melalui mode CLI. Itu tergantung pada cara mana Anda merasa nyaman.

rm -rvf /path/to/directory  
  • -r  = hapus direktori dan isinya secara rekursif
  • -v  = jelaskan apa yang sedang dilakukan
  • -f  = abaikan file yang tidak ada, tidak pernah meminta

Jika Anda baru di Linux, gunakan halaman manual (man rm) untuk opsi lebih banyak dan lebih akurat.


21
2017-11-16 05:38





Saya mengalami masalah dengan hari ini, tapi saya mengatasinya dengan sudo.

Peringatan: Sangat yakin Anda ingin menghapus semuanya sebelum menggunakan perintah di bawah ini.

$ sudo rm -R [Directory name]

Saya berhasil melakukan ini hari ini, dan menghapus banyak direktori yang tidak kosong yang saya konfirmasi saya tidak inginkan / butuhkan.

Saya menggunakan 14.04 LTS


-2
2017-09-28 23:00



"SUDO" bukan perintah - "sudo" adalah. Namun demikian, Anda tidak menggunakan sudo untuk menghapus direktori yang tidak kosong, Anda menggunakannya untuk menghapus file yang tidak Anda miliki. Melakukan hal ini sebagai hal yang berbahaya dan tidak terlalu cerdas, karena Anda tidak boleh secara sembarangan menghapus file yang tidak Anda miliki. - Marty Fried


By the way saya pribadi ingin menghapus direktori yang berisi file write protected / s (.git dan sub direktori) dan akhirnya menyadari bahwa saya juga diperlukan untuk menjadi pengguna super agar berhasil menghapus file-file ini. Inilah yang saya lakukan:

#became super user
sudo su -

#deleted contents of, and then the directory, harvey_snake/
rm -R harvey_snake/

-3
2017-09-17 17:35



Saya tidak berpikir Anda perlu sudo su sini. Hanya awalan rm perintah dengan sudo. Untuk keamanan, ini adalah praktik yang baik (menurut pendukung sudo) untuk tidak tetap berada di prompt root ketika tidak diperlukan. - thomasrutter
Juga, sangat sangat yakin direktori mana Anda berada jika Anda sudo rm -r. - Tony Martin
Anda bisa membuat perintah root-relative (/directory_name) sehingga tidak ada keraguan tentang direktori mana yang Anda hapus. - Yaakov Ainspan