Quando si eseguono backup, si copiano/spostano file di grandi dimensioni sul sistema Linux, è possibile monitorare l'avanzamento di un'operazione in corso. Molti strumenti del terminale non dispongono della funzionalità per consentire di visualizzare le informazioni sullo stato di avanzamento quando un comando è in esecuzione in una pipe.
Leggi anche :comando di copia avanzato per mostrare la barra di avanzamento durante la copia di file in Linux
In questo articolo, esamineremo un importante comando Linux/Unix chiamato pv .
Lettura consigliata: Progresso:un piccolo strumento per monitorare i progressi per i comandi (cp, mv, dd, tar, ecc.)
Pv è uno strumento basato su terminale che consente di monitorare lo stato di avanzamento dei dati inviati tramite una pipe. Quando si utilizza il pv comando, ti dà una visualizzazione visiva delle seguenti informazioni:
- Il tempo trascorso.
- La percentuale di completamento inclusa una barra di avanzamento.
- Mostra la velocità di trasmissione corrente.
- Il totale dei dati trasferiti.
- e l'ETA (tempo stimato).
Come installare pv Command in Linux?
Questo comando non è installato per impostazione predefinita sulla maggior parte delle distribuzioni Linux, quindi puoi installarlo seguendo i passaggi seguenti.
Su Fedora, CentOS e RHEL
Per prima cosa devi attivare il repository EPEL e quindi eseguire il comando seguente.
# yum install pv # dnf install pv [On Fedora 22+ versions]
Risultato campione
Dependencies Resolved ================================================================================= Package Arch Version Repository Size ================================================================================= Installing: pv x86_64 1.4.6-1.el7 epel 47 k Transaction Summary ================================================================================= Install 1 Package Total download size: 47 k Installed size: 93 k Is this ok [y/d/N]: y Downloading packages: pv-1.4.6-1.el7.x86_64.rpm | 47 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : pv-1.4.6-1.el7.x86_64 1/1 Verifying : pv-1.4.6-1.el7.x86_64 1/1 Installed: pv.x86_64 0:1.4.6-1.el7 Complete!
Su Debian, Ubuntu e Linux Mint
# apt-get install pv
Risultato campione
Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: pv 0 upgraded, 1 newly installed, 0 to remove and 533 not upgraded. Need to get 33.7 kB of archives. After this operation, 160 kB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu/ trusty/universe pv amd64 1.2.0-1 [33.7 kB] Fetched 33.7 kB in 0s (48.9 kB/s) Selecting previously unselected package pv. (Reading database ... 216340 files and directories currently installed.) Preparing to unpack .../archives/pv_1.2.0-1_amd64.deb ... Unpacking pv (1.2.0-1) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Setting up pv (1.2.0-1) ...
Su Gentoo Linux
Usa il gestore di pacchetti emerge per installare pv comando come mostrato.
# emerge --ask sys-apps/pv
Su Linux FreeBSD
Puoi utilizzare la porta per installarlo come segue:
# cd /usr/ports/sysutils/pv/ # make install clean
O aggiungi il pacchetto binario come segue:
# pkg_add -r pv
Come si usa pv Command in Linux?
pv viene utilizzato principalmente con altri programmi che non hanno la capacità di monitorare l'andamento di un'operazione in corso. Puoi usarlo, inserendolo in una pipeline tra due processi, con le opzioni appropriate disponibili.
L'input standard di pv verrà passato al suo output standard e lo stato di avanzamento (output) verrà stampato sull'errore standard. Ha un comportamento simile al comando cat in Linux.
La sintassi del comando pv come segue:
pv file pv options file pv file > filename.out pv options | command > filename.out comand1 | pv | command2
Le opzioni utilizzate con pv sono divisi in tre categorie, interruttori display , modificatori di output e opzioni generali .
Alcune opzioni sotto i modificatori di visualizzazione.
- Per attivare la barra di visualizzazione, usa il -p opzione.
- Per visualizzare il tempo trascorso, utilizza il –timer opzione.
- Per attivare il timer ETA che tenta di indovinare quanto tempo ci vorrà prima del completamento di un'operazione, usa il –eta opzione. L'ipotesi si basa sulle velocità di trasferimento precedenti e sulla dimensione totale dei dati.
- Per attivare un contatore usa il –tasso opzione.
- Per visualizzare la quantità totale di dati trasferiti finora, utilizza i –byte opzione.
- Per visualizzare informazioni sull'avanzamento della percentuale intera anziché dell'indicazione visiva, utilizza -n opzione. Questo può essere utile quando si utilizza pv con il comando dialog per mostrare lo stato di avanzamento in una finestra di dialogo.
Alcune opzioni sotto i modificatori di output.
- Per attendere il trasferimento del primo byte prima di visualizzare le informazioni sull'avanzamento, utilizza –wait opzione.
- Presumere che la quantità totale di dati da trasferire sia SIZE byte quando si calcola la percentuale e l'ETA, utilizzare –size SIZE opzione.
- Per specificare i secondi tra gli aggiornamenti, utilizza l'intervallo SECONDS opzione.
- Usa –force opzione per forzare un'operazione. Questa opzione forza pv a visualizzare elementi visivi quando l'errore standard non è un terminale.
- Le opzioni generali sono –aiuto per visualizzare informazioni sull'utilizzo e –versione per visualizzare le informazioni sulla versione.
Usa il comando pv con esempi
1. Quando non è inclusa alcuna opzione, pv i comandi vengono eseguiti con -p predefinito , -t , -e , -r e -b opzioni.
Ad esempio, per copiare opensuse.vdi file su /tmp/opensuse.vdi , esegui questo comando e guarda la barra di avanzamento in screencast.
# pv opensuse.vdi > /tmp/opensuse.vdi
2. Per creare un file zip dal tuo file /var/log/syslog, esegui il comando seguente.
# pv /var/log/syslog | zip > syslog.zip
3. Per contare il numero di righe, parole e byte in /etc/hosts file mentre mostra solo la barra di avanzamento, esegui questo comando di seguito.
# pv -p /etc/hosts | wc
4. Monitora l'avanzamento della creazione di un file di backup utilizzando l'utilità tar.
# tar -czf - ./Downloads/ | (pv -p --timer --rate --bytes > backup.tgz)
5. Utilizzo di pv e dialogo strumento basato su terminale insieme per creare una barra di avanzamento della finestra di dialogo come segue.
# tar -czf - ./Documents/ | (pv -n > backup.tgz) 2>&1 | dialog --gauge "Progress" 10 70
Riepilogo
Questo è un buon strumento basato su terminale che puoi utilizzare con strumenti che non hanno la capacità di monitorare l'avanzamento di operazioni come copia/spostamento/backup di file, per ulteriori opzioni controlla man pv> .
Spero che questo articolo ti sia utile e che tu possa pubblicare un commento se hai qualche idea da aggiungere sull'uso del comando pv. E se ricevi errori durante l'utilizzo, puoi anche lasciare un commento.