Saya memiliki direktori 30 TB yang memiliki miliaran file di dalamnya yang secara formal semua file JPEG. Saya menghapus setiap folder file seperti ini:
sudo rm -rf bolands-mills-mhcptz
Perintah ini hanya berjalan dan tidak menunjukkan apa-apa apakah itu berfungsi atau tidak.
Saya ingin melihat apakah itu menghapus file atau bagaimana status perintah saat ini.
Jawaban yang Diterima:
Anda dapat menggunakan rm -v untuk memiliki rm cetak satu baris per file yang dihapus. Dengan cara ini Anda dapat melihat rm memang berfungsi untuk menghapus file. Tetapi jika Anda memiliki miliaran file maka yang akan Anda lihat hanyalah rm masih bekerja. Anda tidak akan tahu berapa banyak file yang sudah dihapus dan berapa banyak yang tersisa.
Alat pv dapat membantu Anda dengan perkiraan kemajuan.
http://www.ivarch.com/programs/pv.shtml
Inilah cara Anda memanggil rm dengan pv dengan contoh keluaran
$ rm -rv dirname | pv -l -s 1000 > logfile
562 0:00:07 [79,8 /s] [====================> ] 56% ETA 0:00:05
Dalam contoh yang dibuat-buat ini saya memberi tahu pv bahwa ada 1000 file. Keluaran dari pv menunjukkan bahwa 562 sudah dihapus, waktu yang telah berlalu adalah 7 detik, dan perkiraan untuk selesai dalam 5 detik.
Beberapa penjelasan:
pv -lmembuatpvuntuk menghitung dengan baris baru, bukan bytepv -s numbermemberitahupvberapa totalnya sehingga dapat memberi Anda perkiraan.- Pengalihan ke
logfilepada akhirnya adalah untuk output bersih. Jika tidak, baris status daripvtercampur dengan output darirm -v. Bonus:Anda akan memiliki file log dari apa yang telah dihapus. Tapi hati-hati file akan menjadi besar. Anda juga dapat mengarahkan ulang ke/dev/nulljika Anda tidak membutuhkan log.
Untuk mendapatkan jumlah file Anda dapat menggunakan perintah ini:
$ find dirname | wc -l
Ini juga bisa memakan waktu lama jika ada miliaran file. Anda dapat menggunakan pv di sini juga untuk melihat berapa banyak yang telah dihitung
$ find dirname | pv -l | wc -l
278k 0:00:04 [56,8k/s] [ <=> ]
278044
Di sini dikatakan bahwa butuh 4 detik untuk menghitung 278k file. Hitungan tepat di akhir (278044 ) adalah keluaran dari wc -l .
Jika Anda tidak ingin menunggu penghitungan, Anda dapat menebak jumlah file atau menggunakan pv tanpa perkiraan:
$ rm -rv dirname | pv -l > logfile
Seperti ini Anda tidak akan memiliki perkiraan untuk menyelesaikan tetapi setidaknya Anda akan melihat berapa banyak file yang sudah dihapus. Arahkan ulang ke /dev/null jika Anda tidak memerlukan file log.
Nitpick:
- apakah Anda benar-benar membutuhkan
sudo? - biasanya
rm -rcukup untuk menghapus secara rekursif. tidak perlurm -f.