El uso rm -rf LargeDirectory
para eliminar un directorio grande puede llevar una gran cantidad de tiempo en completarse dependiendo del tamaño del directorio.
¿Es posible obtener una actualización de estado o de alguna manera monitorear el progreso de esta eliminación para dar una estimación aproximada de en qué punto del proceso se encuentra el comando?
watch -n 5 du -s LargeDirectory
. Mira como va a cero.brew install watch
o consulte aquí para obtener instrucciones.Respuestas:
desde
use la opción -v:
fuente
Veo que la pregunta es vieja. Quiero compartir lo que funciona para mí tal vez ayudar a alguien más.
Obtengo la barra de progreso usando la
pv
línea de comando Pipe ViewerEste es el comando
Si necesita permisos de root para eliminar el directorio o el archivo,
rm -rv
:-r
para eliminar de forma recursiva DIR y archivos.-v
detallado enumera todos los archivos y directorios que está eliminando.pv -l -s
:-l
para contar líneas en lugar de bytes.-s
establece las líneas totales que se eliminarán.$( du -a <dir_or_file> | wc -l )
:du -a
devuelve una lista de todos los archivos y directorios del directorio especificado.wc -l
devuelve el recuento de líneas generadas pordu -a
.> /dev/null
: envía la salida derm -rv
a ninguna parte.fuente
find {dir} -printf . | wc -c
sería más seguro (pero-printf
es una extensión de GNU).Puede ver el progreso de cualquier comando actualmente en ejecución con Coreutils Progress Viewer (
cv
). No es como emitir un solo comando, pero puedes ver el progreso con él.Estoy seguro de que alguien puede crear un alias para ejecutar esto con el comando. También funciona con
cp, mv, dd, tar, gzip/gunzip, cat, etc.
. Se pueden encontrar más detalles al respecto engitthub Xfennec / progreso
fuente