Saya biasanya menghapus direktori dengan menggunakan rm :
rm -r myDir
Namun saya mengetahui perintah lain, rmdir , yang sepertinya melakukan pekerjaan dengan baik:
rmdir myDir
Apa perbedaan antara kedua perintah ini dan kapan masing-masing harus digunakan?
rmdir(2)
yang hanya dapat menghapus direktori kosong.rm -r
: (1) Ketik perintah, tetapi jangan masukkan (2) Angkat tangan Anda dari keyboard (3) Hitung hingga lima (4) Tekan ENTER. Saya sudah mulai melakukan sesuatu seperti ini dengan semua perintah berbahaya, untuk memberi saya kesempatan untuk melihat apa yang saya lakukan, pastikan saya mengetik semuanya dengan benar, memikirkan apakah ada konsekuensi yang tidak terduga, dll. Kadang-kadang ini menuntun saya untuk menghapus perintah saya dan melakukan beberapa pemeriksaan tambahan terlebih dahulu, misalnya.rm -rf ~ /*
- bersihkan direktori home saya. Atau tunggu, mungkin bersihkan sistem. Selalu baik untuk memeriksa ulang;).rmdir
danrm -r
duaJawaban:
rm -r
menghapus direktori dan semua isinya;rmdir
hanya akan menghapus direktori jika direktori kosong. Saya suka menggunakan yang berikut ini untuk menghapus direktori dan semua isinya:sumber
-f
jika tidak perlu. Ini berguna untuk digunakan-rf
setiap saat, tetapi menonaktifkan (hampir) semua pemeriksaan keamanan.-f
bendera rm yang dapat memiliki konsekuensi yang tidak terduga dan tidak dapat dikembalikanrmdir
adilrm -d
?-d
bukan pilihan standar untukrm
.rm
Perintah secara umum mungkin memiliki konsekuensi ini. The-f
bendera berguna ketika berjalan di bawahset -e
dalam naskah. Saya setuju bahwa menggunakan tanpa berpikir tidak perlu .Anda harus menggunakan
rm -r
ketika ingin menghapus direktori dan semua isinya secara rekursif, atau ketika target mungkin direktori atau file dan Anda ingin menghapusnya terlepas dari apa itu.Anda harus menggunakan
rmdir
ketika ingin menghapus direktori kosong.The
rmdir
Perintah ini berguna karena menolak untuk menghapus direktori yang tidak kosong dan file. Ini berfungsi sebagai tangkapan keamanan dalam situasi di mana Anda mungkin ingin benar-benar yakin bahwa apa yang Anda hapus adalah direktori dan bahwa direktori tersebut kosong sebelum menghapusnya (misalnya dalam skrip) dan ingin memperlakukannya sebagai kondisi kesalahan jika tidak.sumber