Anda dapat menggunakan rm -v
untuk rm
mencetak satu baris per file dihapus. Dengan cara ini Anda dapat melihat bahwa rm
memang berfungsi untuk menghapus file. Tetapi jika Anda memiliki miliaran file maka yang akan Anda lihat adalah yang rm
masih berfungsi. Anda tidak akan tahu berapa banyak file yang sudah dihapus dan berapa banyak yang tersisa.
Alat ini pv
dapat membantu Anda dengan estimasi kemajuan.
http://www.ivarch.com/programs/pv.shtml
Berikut adalah bagaimana Anda akan 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 buat ini saya mengatakan pv
bahwa ada 1000
file. Output dari pv
menunjukkan bahwa 562 sudah dihapus, waktu yang berlalu adalah 7 detik, dan estimasi untuk menyelesaikan dalam 5 detik.
Beberapa penjelasan:
pv -l
membuat pv
untuk menghitung dengan baris baru, bukan byte
pv -s number
memberi tahu pv
apa totalnya sehingga dapat memberi Anda perkiraan.
- Redirect ke
logfile
pada akhirnya adalah untuk output bersih. Kalau tidak, baris status dari pv
akan tercampur dengan output dari rm -v
. Bonus: Anda akan memiliki file log dari apa yang telah dihapus. Namun waspadalah file tersebut akan menjadi besar. Anda juga dapat mengalihkan ke /dev/null
jika Anda tidak perlu 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 di pv
sini juga untuk melihat berapa 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 output dari wc -l
.
Jika Anda tidak ingin menunggu penghitungan maka Anda bisa menebak jumlah file atau menggunakan pv
tanpa estimasi:
$ rm -rv dirname | pv -l > logfile
Seperti ini, Anda tidak akan memiliki estimasi untuk selesai tetapi setidaknya Anda akan melihat berapa banyak file yang sudah dihapus. Arahkan ulang ke /dev/null
jika Anda tidak memerlukan logfile.
Nitpick:
- Anda benar-benar membutuhkan
sudo
?
- biasanya
rm -r
cukup untuk menghapus secara rekursif. tidak perlu untuk rm -f
.