Perintah Linux rmdir: Cara Menghapus Direktori Kosong
Perintah rmdir di Linux menghapus direktori kosong. Perintah ini membiarkan direktori yang berisi file atau subdirektori tetap utuh, sehingga Anda dapat menghapus direktori kosong sambil mempertahankan isinya.
Menghapus Direktori Kosong
Tentukan jalur direktori yang akan dihapus. Jalur relatif diselesaikan dari direktori kerja saat ini, jadi periksa lokasi dan target dengan pwd dan ls -la sebelum menjalankan perintah.
rmdir empty-dir
Direktori kosong biasanya dihapus tanpa keluaran. Jika berisi file atau subdirektori, direktori tersebut tidak dihapus dan muncul kesalahan seperti Directory not empty. Pesan kesalahan tergantung pada bahasa sistem. Direktori yang dihapus biasanya tidak dipindahkan ke tempat sampah, jadi pastikan target terlebih dahulu.
Jika Anda menentukan beberapa direktori, sistem akan mencoba menghapus masing-masing. Bahkan jika beberapa gagal karena tidak kosong, target lainnya mungkin masih dihapus, jadi Anda tidak boleh menganggap ini sebagai operasi yang sepenuhnya berhasil atau sepenuhnya dibatalkan.
rmdir first-dir second-dir
Coba sendiri
Lakukan latihan berikut di lokasi yang tidak tumpang tindih dengan file yang sudah ada. Jika rmdir-practice sudah ada, pilih nama lain, dan jika pembuatan direktori gagal, jangan jalankan perintah berikutnya. Jika Anda menggunakan nama yang berbeda, ganti rmdir-practice dalam perintah di bawah ini dengan nama tersebut.
mkdir rmdir-practice
Jika pembuatan berhasil, masuk ke direktori latihan dengan perintah berikut dan buat direktori yang kosong serta direktori yang berisi file.
cd rmdir-practice
mkdir empty busy
touch busy/example.txt
empty kosong, dan busy berisi file. Coba hapus kedua direktori tersebut secara berurutan.
rmdir empty
rmdir busy
Perintah pertama menghapus empty. Yang kedua gagal karena busy tidak kosong, dan file-file tetap ada. Anda dapat menggunakan perintah berikut untuk memeriksa bahkan item tersembunyi.
ls -la busy
. dan .. dalam keluaran merujuk ke direktori saat ini dan direktori induk. Jika ada file atau subdirektori lain, itu tidak kosong. Latihan -p berikut juga dilakukan di direktori ini. Saat menghapus file latihan, periksa target terlebih dahulu.
Opsi -p untuk menghapus hingga direktori induk
-p atau --parents mencoba menghapus direktori dari direktori yang ditentukan hingga direktori induk secara berurutan. Setiap direktori harus kosong pada saat itu. Anda dapat memeriksanya di direktori latihan sebagai berikut.
mkdir -p a/b/c
rmdir -p a/b/c
Jika tidak ada konten lain, mereka akan dihapus dalam urutan c, b, a. Jika ada file lain di direktori induk, menghapus direktori bawah mungkin berhasil tetapi menghapus direktori induk bisa gagal. Oleh karena itu, pastikan seluruh jalur memang dimaksudkan untuk dihapus sebelum menjalankan. Setelah menyelesaikan latihan, kembali ke direktori induk dengan cd ...
Tampilkan operasi dan abaikan direktori yang tidak kosong
-v atau --verbose menampilkan pesan tentang direktori yang sedang diproses. Periksa pesan kesalahan untuk menentukan apakah penghapusan benar-benar terjadi.
rmdir -v empty-dir
Opsi --ignore-fail-on-non-empty pada GNU rmdir mengabaikan kegagalan penghapusan yang terjadi karena direktori tidak kosong. Direktori atau isinya tidak dihapus. Perintah berikut dijalankan dari lokasi induk dari direktori latihan.
rmdir --ignore-fail-on-non-empty rmdir-practice/busy
Opsi ini hanya mengabaikan direktori jika mereka tidak kosong. Ini bukan opsi yang mengabaikan kesalahan lain seperti jalur yang hilang atau kurangnya izin. Jika hanya kegagalan yang diabaikan yang terjadi, status keluar dapat ditampilkan sebagai berhasil, jadi jangan menilai bahwa semua direktori telah dihapus hanya berdasarkan status keluar. Anda dapat memeriksa perilaku detail dari opsi ini dalam manual GNU rmdir.
Memeriksa saat penghapusan gagal
- Tidak kosong: Ganti
directorydengan jalur aktual dils -la directoryuntuk memeriksa file tersembunyi dan subdirektori. Dalamlsumum, item yang namanya diawali dengan titik mungkin tidak terlihat. - Masalah izin: Periksa izin, kepemilikan, dan status sistem file dari target dan direktori induknya. Penghapusan umumnya memerlukan izin tulis dan cari untuk direktori induk, dan batasan lain juga mungkin berlaku.
- Masalah jalur atau target: Periksa nama dan lokasi saat ini. Tautan simbolik yang menunjuk ke direktori berbeda dari direktori itu sendiri, jadi periksa dengan
ls -ld.
rmdir * memungkinkan shell untuk melewatkan beberapa nama dalam direktori saat ini ke perintah. File juga dapat disertakan, dan nama tersembunyi biasanya tidak disertakan, jadi lebih aman untuk terlebih dahulu memeriksa target dengan ls -la dan menentukan direktori yang diperlukan. Jika Anda perlu menghapus direktori yang berisi file, Anda tidak dapat melakukannya dengan rmdir, dan penghapusan file harus diputuskan secara terpisah setelah meninjau isinya.




