È possibile utilizzare rm -vper avere rmstampare una riga per ogni file cancellato. In questo modo puoi vedere che rmfunziona davvero per eliminare i file. Ma se hai miliardi di file, tutto ciò che vedrai è che rmfunziona ancora. Non avrai idea di quanti file siano già stati eliminati e quanti ne siano rimasti.
Lo strumento pvpuò aiutarti con una stima dei progressi.
http://www.ivarch.com/programs/pv.shtml
Ecco come invocheresti rmcon l' pvoutput di esempio
$ rm -rv dirname | pv -l -s 1000 > logfile
562 0:00:07 [79,8 /s] [====================> ] 56% ETA 0:00:05
In questo esempio inventato ho detto pvche ci sono 1000file. L'output di pvmostra che 562 sono già stati eliminati, il tempo trascorso è di 7 secondi e la stima da completare è in 5 secondi.
Qualche spiegazione:
pv -lfa pvcontare per newline anziché byte
pv -s numberindica pvqual è il totale in modo che possa fornirti una stima.
- Il reindirizzamento alla
logfilefine è per l'output pulito. Altrimenti la riga di stato da pvviene confusa con l'output di rm -v. Bonus: avrai un file di log di ciò che è stato eliminato. Ma attenzione, il file diventerà enorme. Puoi anche reindirizzare a /dev/nullse non hai bisogno di un registro.
Per ottenere il numero di file è possibile utilizzare questo comando:
$ find dirname | wc -l
Anche questo può richiedere molto tempo se ci sono miliardi di file. Puoi usare anche pvqui per vedere quanto ha contato
$ find dirname | pv -l | wc -l
278k 0:00:04 [56,8k/s] [ <=> ]
278044
Qui dice che ci sono voluti 4 secondi per contare 278k file. Il conteggio esatto alla fine ( 278044) è l'output di wc -l.
Se non si desidera attendere il conteggio, è possibile indovinare il numero di file o utilizzare pvsenza stima:
$ rm -rv dirname | pv -l > logfile
In questo modo non avrai alcuna stima da terminare ma almeno vedrai quanti file sono già stati eliminati. Reindirizzare a /dev/nullse non è necessario il file di registro.
nitpick:
- hai davvero bisogno
sudo?
- di solito
rm -rè sufficiente per eliminare in modo ricorsivo. non c'è bisogno di rm -f.