Menghapus direktori harus bekerja. Anda mungkin mengalami masalah jika Anda mencoba menghapus file satu per satu karena ada begitu banyak. Anda tidak menjalankan rm -rf dirname/*
kamu?
Dugaan saya adalah Anda kehilangan koneksi ssh karena tidak aktif, apakah Anda yakin perintah tidak dijalankan dengan benar di server?
Bagaimanapun, solusi yang mungkin adalah menggunakan nohup:
nohup rm -rf dirname
Anda dapat meluncurkan perintah dan keluar, itu akan berlanjut di latar belakang.
PEMBARUAN:
Saya menemukan pertanyaan ini di U&L.SE, saya sarankan Anda melihatnya. Sayangnya, saya tidak dapat membuat ulang masalah Anda. Saya telah membuat direktori dengan 2516007 file dan selalu dapat menghapusnya menggunakan rm -rf
:
$ mkdir ha
$ for X in $(seq 1 10000);do touch {1..10000}_$X; done
$ ls -f ha | wc -l
2516007 <= I stopped before the for loop finished, but this should be enough
$ time rm -rf ha/
real 23m11.695s
user 0m3.540s
sys 0m42.891s
Jadi, butuh 20 menit untuk menghapus ~2 juta file kosong. Tampaknya masuk akal bahwa perlu waktu berjam-jam untuk menghapus sejumlah besar file yang tidak kosong.
Bagaimanapun, beberapa saran dari pertanyaan U&L akan membantu. Khususnya yang ini:
find /delb -type f --delete
atau yang ini (sedikit dimodifikasi dari aslinya)
find /delb -type f -print0 | xargs -0r rm -f
Terakhir, trik yang bisa Anda lakukan adalah menghapus beberapa file sekaligus. Jika Anda mengetahui bahwa beberapa nama file dimulai dengan string "foo", lainnya "bar", dll, lakukan ini:
rm -rf /delb/foo*
rm -rf /delb/bar*
dan seterusnya. Anda juga dapat mencoba sesuatu seperti ini:
for n in {a..z}; do rm -rf /delb/$n*; done
for n in {A..Z}; do rm -rf /delb/$n*; done
for n in {0..9}; do rm -rf /delb/$n*; done
Perintah terakhir ini secara berurutan akan menghapus setiap nama file yang diawali dengan setiap huruf alfabet, lalu nama file yang diawali dengan angka.