22 dic 2012

PV - Comando cp pero con barra de progreso

A algunos nos gustaría que cp tuviera una barra de progreso, pues, es posible.
Primero que nada, deben tener el repo rpmforge (usuarios de RHEL o clones, Fedora no lo necesita).
# yum install pv -y

Como?, facil:

# pv WindowsXP.vdi > /dev/null
10GiB 0:02:01 [84,4MiB/s] [==========================================>] 100%

Muestra el progreso en tiempo real, asi como la velocidad de transferencia.
Otro uso que le podemos dar, es de ver el progreso de dd, ese comando tan usado que no tiene barra de progreso, y a veces tenemos que mirar iotop, iostat o la luz del pendrive para saber si termino al 100%, y nunca sabemos cuanto le falta.
Entonces:

dd if=/root/linux.iso |pv|dd of=/dev/sdb1

Eso nos mostrará el progreso y velocidad. Las capacidades de pv son muchas, mas que nada porque su definición según los creadores es:

pv - Pipe Viewer - is a terminal-based tool for monitoring the progress of data through a pipeline. It can be inserted into any normal pipeline between two processes to give a visual indication of how quickly data is passing through, how long it has taken, how near to completion it is, and an estimate of how long it will be until completion.

Web Oficial

4 comentarios:

Rodrigo dijo...

Gran dato, sobre todo para ansiosos como yo.

Anónimo dijo...

Eso es algo que siempre me llamó la atención de Gentoo, su versión de cp tiene el parametro -G para que te muestre una barra de progresión de copia como la que comentas.

SynFlag dijo...

Sería interesante ver si tiene algún patch el ebuild y pedir que lo agreguen a otras distro, dado que es muy útil. El de las demás distro no lo tiene, pertenece al paquete coreutils de GNU, el cual no tiene ese parametro. Muy interesante lo que comentás, veré si bajo el ebuild y veo el parche para sugerirlo a demás distro. Gracias por el aporte!

SynFlag dijo...

Somos dos ;)