Este es el comando pv que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
pv: monitorea el progreso de los datos a través de una tubería
SINOPSIS
pv [OPCIÓN] [ARCHIVO] ...
pv [-h|-V]
DESCRIPCIÓN
pv muestra el progreso de los datos a través de una canalización proporcionando información como el tiempo
transcurrido, porcentaje completado (con barra de progreso), tasa de rendimiento actual, datos totales
transferido y ETA.
Para usarlo, insértelo en una tubería entre dos procesos, con las opciones adecuadas.
Su entrada estándar pasará a su salida estándar y el progreso será
se muestra en error estándar.
pv copiará cada uno de los suministrados ARCHIVO a su vez a salida estándar (- significa entrada estándar), o si
no ARCHIVOs se especifican solo se copia la entrada estándar. Este es el mismo comportamiento que
gato(1).
Un ejemplo simple para ver qué tan rápido se transfiere un archivo usando nc(1):
pv presentar | nc -w 1 en algún lugar.com 3000
Un ejemplo similar, transferir un archivo de otro proceso y pasar el tamaño esperado
a pv:
gato presentar | pv -s 12345 | nc -w 1 en algún lugar.com 3000
Un ejemplo más complicado que utiliza la salida numérica para alimentar el diálogo(1) programa para un
visualización de progreso en pantalla completa:
(alquitrán cf - . \
| pv -n -s $ (du -sb . | awk '{impresión $ 1} ') \
| gzip -9 > fuera.tgz) 2> y 1 \
| diálogo --indicador 'Progreso' 7 70
Tomando una imagen de un disco, omitiendo errores:
pv -EE / Dev / sda > imagen-disco.img
Escritura de una imagen en un disco:
pv imagen-disco.img > / Dev / sda
Poner a cero un disco:
pv < / dev / zero > / Dev / sda
Tenga en cuenta que si no se puede calcular el tamaño de entrada y la salida es un dispositivo de bloque, entonces
se utilizará el tamaño del dispositivo de bloque y pv se detendrá automáticamente en ese tamaño como
if -S había sido dado.
(Solo Linux): Observando el descriptor de archivo 3 abierto por otro proceso 1234:
pv -d 1234:3
(Solo Linux): Observando todos los descriptores de archivo usados por el proceso 1234:
pv -d 1234
OPCIONES
pv toma muchas opciones, que se dividen en interruptores de pantalla, modificadores de salida y
opciones generales.
DISPLAY INTERRUPTORES
Si no se especifican interruptores de pantalla, pv se comporta como si -p, -t, -e, -ry -b y destilado
dado (es decir, todo excepto la tasa media está activado). De lo contrario, solo aquellos muestran
Se mostrarán los tipos que están activados explícitamente.
-pag, --Progreso
Enciende la barra de progreso. Si la entrada estándar no es un archivo y no se dio ningún tamaño
(Con la -s modificador), la barra de progreso no puede indicar qué tan cerca de la finalización
la transferencia es, por lo que solo se moverá hacia la izquierda y hacia la derecha para indicar que los datos están
emocionante.
-t, --Temporizador
Enciende el temporizador. Esto mostrará el tiempo total transcurrido que pv ha sido
corriendo para.
-mi, --eta
Encienda el temporizador de ETA. Esto intentará adivinar, basándose en una transferencia previa.
tasas y el tamaño total de los datos, cuánto tiempo pasará antes de la finalización. Esta opción
no tendrá ningún efecto si no se puede determinar el tamaño total de los datos.
-YO, --finita
Encienda el temporizador ETA, pero muestre la hora local estimada de llegada en lugar de
tiempo restante. Cuando el tiempo estimado sea de más de 6 horas en el futuro, la fecha es
también se muestra.
-r, --índice
Encienda el contador de tasas. Esto mostrará la tasa actual de transferencia de datos.
-a --tasa promedio
Encienda el contador de tasa promedio. Esto mostrará la tasa promedio de datos
transferir hasta ahora.
-B, --bytes
Encienda el contador de bytes totales. Esto mostrará la cantidad total de datos
transferido hasta ahora.
-T, - porcentaje de búfer
Encienda la pantalla de porcentaje del búfer de transferencia. Esto mostrará el porcentaje de
el búfer de transferencia en uso, pero consulte la advertencia debajo %T en la categoría Industrial. FORMATEAR .
abajo.
-UN, - último escrito NUM
Mostrar el ultimo NUM bytes escritos, pero vea la advertencia debajo %n / A en la categoría Industrial. FORMATEAR
sección a continuación.
-F, --formato FORMATO
Ignora las opciones -p, -t, -e, -r, -a, -b, -Ty -A, y en su lugar usa el formato
cadena FORMATO para determinar el formato de salida. Ver el FORMATEAR sección a continuación.
-norte, --numérico
Salida numérica. En lugar de dar una indicación visual del progreso, pv dará un
porcentaje entero, uno por línea, en error estándar, adecuado para tuberías (a través de
redirección complicada) en diálogo(1). Tenga en cuenta que -f no es necesario si -n is
siendo utilizado.
Tenga en cuenta que si --numérico está en uso, luego agregando --bytes causará el número de
bytes procesados hasta ahora para ser emitidos en lugar de un porcentaje; si --modo de línea También es
en uso, entonces en lugar de bytes o un porcentaje, el número de líneas hasta ahora es
producción. Y finalmente, si --Temporizador también está en uso, entonces cada línea de salida tiene el prefijo
con el tiempo transcurrido hasta el momento, como un número decimal de segundos.
-q, --tranquilo
Ninguna salida. Útil si el -L La opción se está utilizando por sí sola para limitar la
tasa de transferencia de una tubería.
SALIDA MODIFICADORES
-W, --Espere
Espere hasta que se haya transferido el primer byte antes de mostrar cualquier progreso
información o calcular cualquier ETA. Útil si el programa al que está conectando o
de requiere información adicional antes de que comience, por ejemplo, canalizar datos en gpg(1) o
mcrypt(1) que requieren una frase de contraseña antes de que se puedan procesar los datos.
-RE, --inicio atrasado SEG
Esperar hasta SEG Han pasado segundos antes de mostrar cualquier información de progreso, por
ejemplo en un script donde solo desea mostrar una barra de progreso si comienza a tomar
mucho tiempo. Tenga en cuenta que puede ser un decimal como 0.5.
-s TALLA, --Talla TAMAÑO
Suponga que la cantidad total de datos a transferir es TAMAÑO bytes al calcular
porcentajes y ETA. Se pueden utilizar los mismos sufijos de "k", "m", etc. que con -L.
No tiene ningún efecto si se usa con -d PID para ver todos los descriptores de archivo de un proceso, pero
trabajará con -d PID: FD.
-yo, --modo de línea
En lugar de contar bytes, cuente líneas (caracteres de nueva línea). La barra de progreso
solo se mueve cuando se encuentra una nueva línea, y el valor se pasa al -s la opción será
interpretado como un recuento de líneas. Tenga en cuenta que los tamaños de archivo no se calculan automáticamente
cuando se utiliza esta opción, para evitar tener que leer todos los archivos dos veces.
-0, --nulo
Cuente las líneas como terminadas en nulo. Esta opción implica --line-mode.
-i SEGUNDO, --intervalo SEG
Esperar SEG segundos entre actualizaciones. El valor predeterminado es actualizar cada segundo. Nota
que puede ser un decimal como 0.1.
-w ANCHO, --ancho ANCHO
Suponga que la terminal es ANCHO caracteres de ancho, en lugar de tratar de resolverlo (o
asumiendo 80 si no se puede adivinar).
-H ALTURA, --altura HEIGHT
Suponga que la terminal es HEIGHT filas altas, en lugar de tratar de resolverlo (o
asumiendo 25 si no se puede adivinar).
-N NOMBRE, --nombre NOMBRE
Prefije la información de salida con NOMBRE. Útil junto con -c si tiene
una tubería complicada y desea poder distinguir diferentes partes de ella.
-F, --fuerza
Fuerza de salida. Normalmente, pv no generará ninguna pantalla visual si el error estándar es
no es una terminal. Esta opción lo obliga a hacerlo.
-C, --cursor
Use secuencias de escape de posicionamiento del cursor en lugar de simplemente usar retornos de carro.
Esto es útil junto con -N (nombre) si está usando múltiples pv
invocaciones en una única y larga tubería.
DATOS TRANSFERIR MODIFICADORES
-L ÍNDICE, --Límite de tarifa TARIFA
Limite la transferencia a un máximo de TARIFA bytes por segundo. Un sufijo de "k", "m",
Se pueden agregar "g" o "t" para indicar kilobytes (* 1024), megabytes, etc.
-B bytes, --tamaño del búfer BYTES
Utilice un tamaño de búfer de transferencia de BYTES bytes. Un sufijo de "k", "m", "g" o "t" puede
agregarse para indicar kilobytes (* 1024), megabytes, etc. El búfer predeterminado
el tamaño es el tamaño de bloque del sistema de archivos del archivo de entrada multiplicado por 32 (512 kb máx.),
o 400 kb si no se puede determinar el tamaño del bloque.
-VS, --no empalme
Nunca usar empalme(2), incluso si normalmente fuera posible. los empalme(2) sistema
La llamada es una forma más eficiente de transferir datos desde o hacia una tubería que la
read(2) y escribir(2), pero significa que no se puede utilizar el búfer de transferencia. Esta
evita -A y -T de trabajar, así que si quieres usar -A or -T entonces necesitarás
que se utilizará -C, a costa de una pequeña pérdida en la eficiencia de transferencia. (Esta opción no tiene
efecto en sistemas donde empalme(2) no está disponible).
-MI, --skip-errores
Ignore los errores de lectura intentando omitir las secciones infractoras. los
las partes correspondientes de la salida serán bytes nulos. Al principio solo unos pocos bytes
se omitirán, pero si hay muchos errores seguidos, los saltos se moverán hacia arriba
a trozos de 512. Se pretende que sea similar a dd conv = sync, noerror pero tiene
no ha sido probado tan a fondo.
Especificar -E dos veces para informar de un error de lectura solo una vez por archivo, en lugar de informar
cada rango de bytes omitido.
-S, --detener en tamaño
Si se especificó un tamaño con -s, deje de transferir datos una vez que hayan transcurrido tantos bytes
escrito, en lugar de continuar hasta el final de la entrada.
-d PID [: FD], --watchfd PID [: FD]
En lugar de transferir datos, mira el descriptor de archivos FD de proceso PIDy muestra su
Progreso. los pv el proceso saldrá cuando FD o cambia a un archivo diferente,
cambia el modo de lectura / escritura, o está cerrado; otros modificadores de transferencia de datos - y remoto
control: no se puede utilizar con esta opción.
Si solo un PID se especifica, entonces ese proceso será observado, y todos los
Los archivos y dispositivos de bloqueo que abre se mostrarán con una barra de progreso. los pv
saldrá cuando el proceso PID salidas
-R identificación personal, --remoto PID
If PID es una instancia de pv que ya esta corriendo, -R PID causará eso
instancia para actuar como si se le hubiera dado la línea de comando de esta instancia en su lugar.
Por ejemplo, si pv -L 123k se está ejecutando con el ID de proceso 9876, luego se está ejecutando pv -R 9876
-L 321k hará que comience a usar un límite de velocidad de 321k en lugar de 123k. Nota
que algunas opciones no se pueden cambiar mientras se ejecuta, como -c, -l, -f, -D, -Ey
-S.
GENERAL OPCIONES
-P EXPEDIENTE, --pidfile ARCHIVO
Guarde el ID de proceso de pv in ARCHIVO. El archivo se truncará si ya
existe, y se eliminará cuando pv salidas. Tiempo pv se está ejecutando, contendrá un
número único: el ID de proceso de pv - seguido de una nueva línea.
-h, --ayuda
Imprima un mensaje de uso en la salida estándar y salga correctamente.
-V, --versión
Imprima la información de la versión en la salida estándar y salga correctamente.
FORMATEAR
Si -F se da la opción, entonces el formato de salida está determinado por el formato dado
cuerda. Dentro de esa cadena, se pueden usar las siguientes secuencias:
%p Barra de progreso. Se expande para llenar el espacio restante. Solo debe especificarse una vez.
Equivalente a -p.
%t Tiempo transcurrido. Equivalente a -t.
%e ETA como tiempo restante. Equivalente a -e.
%I ETA como hora local de finalización. Equivalente a -I.
%r Tasa de transferencia de datos actual. Equivalente a -r.
%a Tasa de transferencia de datos promedio. Equivalente a -a.
%b Bytes transferidos hasta ahora (o líneas si -l fue especificado). Equivalente a -b.
%T Porcentaje del búfer de transferencia en uso. Equivalente a -T. Muestra "{----}" si el
la transferencia se está haciendo con empalme(2), ya que el empalme hacia o desde tuberías no utiliza
el búfer.
%n / A Mostrar el ultimo n bytes escritos (p. ej. % 16A durante los últimos 16 bytes). Muestra solo puntos
si la transferencia se realiza con empalme(2), ya que el empalme hacia o desde tuberías no
no use el búfer.
%N Prefijo de nombre dado por -N. Completado a 9 caracteres con espacios y con el sufijo:.
%% Un solo%.
La cadena de formato equivalente a encender todos los interruptores de pantalla es `% N %b %T %t %r %a %p
%mi'.
SALIR ESTADO
Un estado de salida de 1 indica un problema con el -R or -P .
Cualquier otro estado de salida es una máscara de bits de lo siguiente:
2 No se pudo acceder a uno o más archivos, stat(2) ed, o abierto.
4 Un archivo de entrada era el mismo que el archivo de salida.
8 Error interno al cerrar un archivo o pasar al siguiente archivo.
16 Hubo un error al transferir datos de uno o más archivos de entrada.
32 Se captó una señal que provocó una salida anticipada.
64 Falló la asignación de memoria.
Un estado de salida cero indica que no hay problemas.
Use pv en línea usando los servicios de onworks.net