Dalam versi Unix yang lama, rm
perintah akan menghapus direktori jika kosong. Dari halaman manual Research Unix Eighth Edition untuk rm : "Jika sebuah entri adalah direktori, itu dihapus hanya jika kosong." Saya suka perilaku ini, jadi saya punya alias ini di /etc/profile
: alias rm='rm -d'
Saya menggunakan versi GNU coreutils rm
, yang -d
memerintahkan rm
untuk melanjutkan dan menghapus direktori jika kosong.
Sejauh ini bagus. Alias ini memungkinkan saya untuk menggunakan rm
seperti dulu. Namun, saya ingin melangkah lebih jauh. saya inginrm
untuk menghapus direktori bahkan jika direktori tersebut berisi direktori lain, selama direktori adalah satu-satunya hal di sana. Tidak masalah seberapa dalam struktur direktori berjalan, selama tidak ada file di sana, cukup kosongkan (begitu Anda sampai ke bawah) direktori, saya ingin rm
menghapus semuanya.
Mungkinkah ini ditulis sebagai alias yang masih berfungsi seperti biasa rm
dan menghapus semua file yang diteruskan ke sana?
mkdir -p a/b1/c2 && mkdir -p a/b2/c2; rmdir -p a/b1/c1;
, saya masih tersisa dengan a, a / b2, dan a / b2 / c2. Yang saya inginkan adalah lulus level atas saja (dalam hal ini) rm
, dan menghapus semua yang ada di bawahnya.
rmdir -p
?