Sering kali direktori kosong menjadi berantakan di sistem file Linux, dan menjadi tugas yang sulit untuk mencari dan menghapus masing-masing direktori secara manual. Perintah rmdir (hapus direktori ) digunakan di Linux untuk menghapus folder kosong.
Perintahnya cukup mudah digunakan dan sintaks dasarnya adalah:
$ rmdir <empty folder name1> <empty folder name1> ... <empty folder nameN>
Di sini, ‘nama folder kosong1 ‘, ‘nama folder kosong2 ', dll. Adalah nama folder termasuk path lengkapnya. Jika folder berada di direktori yang sama, seperti yang mungkin sudah Anda ketahui, tidak perlu menuliskan path lengkapnya.
Anda juga dapat menggunakan ekspresi wildcard untuk menghapus direktori kosong dengan pola di namanya. Misalnya, untuk menghapus direktori kosong dengan substring 'test ' atas nama mereka, jalankan:
$ rmdir *test*
Namun, untuk menggunakan rmdir kita selalu perlu menentukan nama (atau path lengkap) dari setiap direktori kosong yang akan dihapus. Tidak ada opsi di rmdir untuk mencari direktori kosong secara rekursif lalu menghapusnya.
Kami menggunakan fungsionalitas perintah find dalam kasus seperti itu.
Menemukan dan Menghapus Direktori Kosong di Linux
perintah temukan digunakan untuk mencari file dan folder di Linux berdasarkan parameter yang berbeda seperti nama file, ukuran, jenis, dll. Kami akan menggunakan find untuk menentukan direktori kosong secara rekursif dan kemudian jalankan rmdir untuk menghapus direktori yang ditemukan.
Gunakan argumen '-empty'
untuk mencari objek kosong dan menentukan '-type d'
untuk hanya menemukan direktori.
$ find path_of_folder_to_search -type d -empty
Untuk menemukan direktori kosong secara rekursif di folder yang sama, jalankan:
$ find . -type d -empty
Sekarang, karena kita sudah memiliki daftar direktori kosong yang ditemukan secara rekursif, kita menggunakan '-exec'
argumen dari perintah temukan untuk menjalankan rmdir atas mereka.
$ find . -type d -empty -exec rmdir {} \;
{}
place placeholder mengganti setiap entri dalam daftar direktori yang ditemukan dan '\;'
menandakan akhir dari perintah yang akan dieksekusi.
Namun, bahkan dengan ini, itu hanya akan melakukan satu putaran pencarian dan menghapus direktori yang kosong, tetapi tidak akan menghapus direktori yang kosong setelah putaran pertama penghapusan.
Untuk mengatasinya, kita cukup menggunakan '-delete'
opsi, yang akan berulang kali menghapus semua direktori kosong hingga direktori tingkat atas.
$ find . -type d -empty -delete
Ini adalah bagaimana kita dapat menghapus semua direktori kosong secara rekursif di Linux.
Kesimpulan
Kami belajar cara menggunakan rmdir perintah dan temukan perintah di Linux untuk menghapus direktori kosong secara rekursif. Pelajari lebih lanjut tentang perintah ini di halaman manual masing-masing:
$ man rmdir $ man find
Terima kasih telah membaca dan bagikan pemikiran Anda di bawah ini!