Invece di volare alla cieca, usa Linux pv
e progress
comandi per tenere traccia dell'avanzamento di un comando. Queste utilità ti forniranno barre di avanzamento per i comandi che non ne hanno regolarmente. Vedrai anche un tempo stimato fino al completamento.
Se sei su un volo a lungo raggio in aereo senza schermi video sugli schienali dei sedili, non è facile sapere quanto sei lontano dal tuo viaggio. Sai quando sei decollato. Sai quanto tempo dovrebbe durare il volo. Ma, Come fai a sapere se sei sulla strada giusta?, puntuale o molto tardi? Se non vuoi vedere il film durante il volo, generalmente puoi cambiare lo schermo video per mostrare una mappa con la posizione del tuo aereo su di essa. Ottieni anche alcune statistiche, come l'orario di arrivo previsto (E), che è grandioso.
L'avvio di un comando dalla finestra del terminale a volte può sembrare un volo a lungo raggio senza uno schermo video. Non ha nulla che indichi se tutto va bene o se la procedura è andata in crash, né quanto è vicino al completamento. Un cursore lampeggiante non è molto informativo.
il pv
e progress
I comandi forniscono alcune statistiche e un feedback visivo. Puoi vedere quanto è vicina la procedura da completare. Ciò significa che ottieni un ETA per i tuoi processi in esecuzione. Rispetto a fissare un cursore, che vince senza dubbio.
Installazione FV
Devi installare pv
.
Installare pv
in Ubuntu usa questo comando:
sudo apt-get install pv
Installare pv
in Fedora usa questo comando:
sudo dnf install pv
Installare pv
in Manjaro usa questo comando:
sudo pacman -Syu pv
usando pv
pv
Rappresenta visualizzatore di tubi. La pipeline deve essere coinvolta nel comando da qualche parte. Ecco un esempio in cui stiamo incanalando un'immagine ISO attraverso zip
per creare un file zip compresso dell'ISO.
Per rallentare i comandi basta poter fare uno screenshot, alcuni dei file di esempio utilizzati per questo post sono stati archiviati su una vecchia USB esterna lenta chiamata SILVERXHD.
pv /media/dave/SILVERXHD/gparted-live-1.0.0-1-amd64.iso | cerniera lampo > gparted.zip
Informazione pv
ci dà può essere visto nella riga inferiore dello schermo.
Da sinistra a destra, le informazioni visualizzate sono:
- Dati trasferiti finora.
- Il tempo è passato fino ad ora.
- La velocità di trasferimento dei dati (prestazione).
- Una barra di avanzamento e una cifra percentuale completa.
- Il tempo stimato rimanente prima del completamento (E).
Copia un file con pv
Per copiare un file con output da pv
, usa questo comando:
pv /media/dave/SILVERXHD/gparted-live-1.0.0-1-amd64.iso > gparted.iso
Riceviamo un rapporto sullo stato di avanzamento man mano che il file viene copiato.
Copia più file con pv
Per copiare più file e cartelle con pv
dobbiamo usare un piccolo trucco. Noi usiamo tar
per spostare i file per noi.
tar -c file-aiuto/ | pv | tar -x -C Documenti/
il tar -c help-files/
parte del comando istruisce tar
creare (-c
) un file dai file nella cartella dei file di aiuto. Questo è incanalato attraverso pv
in modo da ottenere una visualizzazione dei progressi. Viene quindi incanalato di nuovo verso tar
per l'ultima parte del comando. Il file viene estratto (-x
) e la directory è cambiata (-C
) a Documenti prima dell'estrazione.
Perché, i file e le cartelle che si trovano nei file della guida vengono copiati nella cartella Documenti, con una schermata di avanzamento.
L'output è leggermente diverso questa volta.
Non riceviamo un ETA. La barra di avanzamento ora mostra un indicatore in movimento. Indica che la procedura è attiva, ma non cresce da sinistra a destra come una barra di avanzamento tradizionale. pv
si limita a mostrare le informazioni che può estrarre dalla procedura che si sta canalizzando.
Usare pv e tar per creare un archivio
Copia file con pv
e tar
non ci lascia con un file di archivio. tipo di file “virtuale” è creato da tar
, che viene restituito direttamente a tar
per estrarre i file. Se il nostro obiettivo è copiare i file, che si ottiene. Ma, E se volessimo creare un file di archivio?
Possiamo ancora usare tar
per creare un file di archivio e ottenere un rapporto sullo stato di avanzamento di pv
. Alternative utilizzate con tar
è così -c
(creare file), -z
(comprimere con gzip) e -f
(file nome file).
Si prega di notare che stiamo usando -
come nome del file, che causa tar
utilizzo stdoute scrivi il suo output nella finestra del terminale. Non vediamo quella presa perché è incanalata attraverso pv
.
Il nome effettivo del file sarà il nome del file da cui convogliamo l'output pv
entro. Per questo caso, è “file-aiuto.tgz”.
tar -czf - ./file-aiuto/ | pv > file-aiuto.tgz
Otteniamo gli stessi indicatori di progresso di prima e l'archivio viene creato per noi.
IMPARENTATO: Come comprimere ed estrarre file usando il comando tar in Linux
Le alternative del display fotovoltaico
Ci sono diverse opzioni con cui puoi usare pv
per modificare i dettagli della tua segnalazione.
Se usi una di queste opzioni, tutte le altre opzioni sono disabilitate. Quindi, se vuoi avere tre delle alternative di visualizzazione in uso, devi specificare queste tre opzioni.
Usando pv
senza alcuna opzione è come usare il -pterb
opzioni.
- -pagina: mostra il percentuale completo. Questa è la barra di avanzamento e la cifra percentuale completa.
- -T: mostra il tempo trascorso tempo metereologico.
- -me: mostra il E.
- -R: mostra il indice trasferimento dati.
- -B: mostra il byte raccontare (dati trasferiti finora).
- -Nord: mostra la percentuale come a totale. Questo stampa la percentuale di completamento come numero intero., con ogni nuovo aggiornamento su una nuova linea.
Ripetiamo l'ultimo comando e passiamo il -p
(percentuale di completamento) opzione per pv
.
tar -czf - ./file-aiuto/ | pv - P > file-aiuto.tgz
Questo disabilita tutte le altre opzioni di visualizzazione. pv
fornisce solo l'elemento completo in percentuale.
Perché pv
non ottiene una cifra percentuale completa di tar
, la barra di avanzamento è sostituita da un indicatore in movimento. Non c'è una percentuale.
Usando pv con wc
Possiamo usare pv
per reindirizzare un file di testo (o file) un wc
. wc
Quindi conterà i ritorni a capo, caratteri e parole e pv
ci darà un rapporto sullo stato di avanzamento.
Qui stiamo convogliando tutti i file “.pagina” nella directory dei file della guida in wc
.
quando wc
pieno possiamo vedere il nostro conteggio del ritorno a capo (Linee), caratteri e parole di tutti i file ".page" nella cartella dei file di aiuto.
Installazione del comando di avanzamento
il progress
comando dà lo stesso tipo di informazioni utili Che cosa pv
, ma funziona con un set specifico di comandi Linux.
Installare progress
in Ubuntu, usa questo comando:
sudo apt-get install progresso
Installare progress
in Fedora, usa questo comando:
sudo dnf installazione progresso
Installare progress
a Manjaro, usa questo comando:
sudo pacman -Syu progresso
L'avanzamento del comando funziona con
Digitando progress
in una finestra di terminale e premendo Invio otterrai un elenco dei comandi che progress
Funziona con.
progresso
Utilizzo dei progressi con i tubi
Ci sono due tecniche che possiamo usare per monitorare i comandi con progress
. Il primo è usare i tubi.
il tar
comando è nell'elenco dei comandi supportati che progress
può monitorare, quindi usiamo tar
.
Le alternative che utilizzeremo sono quelle standard -c
(creare file), -z
(comprimere con gzip) e -f
(nome del file) opzioni. Creeremo un file compresso di tutto ciò che è nella cartella dei file di aiuto, e il file si chiamerà "help.tgz".
Lo stiamo canalizzando in progress
e usando il -m
(tenere sotto controllo) opzione come questa progress
continua a riferire sulla procedura fino al suo completamento.
tar -czf help.tgz ./help-files/ | progresso -m
La finestra del terminale visualizzerà lo stato di avanzamento del tar
comando durante la creazione del file.
Man mano che ogni file viene elaborato, è elencato con le informazioni successive:
- La procedura ID.
- Il nome della procedura.
- Percentuale completata.
- Dati elaborati e dimensione totale del file.
- Velocità dati (prestazione).
- Tempo rimanente stimato (E).
Potresti essere sorpreso di vedere apparire un secondo set di dati. Questo primo set di dati è per tar
. Il secondo è per gzip
. tar
chiama gzip
per eseguire la compressione. Perché gzip
è nell'elenco dei comandi supportati, progress
rapporti a riguardo.
Utilizzo dei progressi in modalità di monitoraggio continuo
Puoi usare progress
in una modalità di monitoraggio continuo in tempo reale utilizzando l'opzione -M (tenere sotto controllo).
Digita il seguente comando in una finestra di terminale:
progresso -M
progress
segnalerà nessun comando in esecuzione per monitorare. Ma non torna alla riga di comando. progress
attende l'avvio di un comando che può monitorare. Quindi inizierà automaticamente a riferire su di esso.
In un'altra finestra del terminale, scrivi un comando che si trova nell'elenco dei comandi che il progresso può monitorare.
Utilizzeremo cat
. I comandi che terminano troppo velocemente non verranno registrati con progress
, quindi elencheremo il contenuto di un file di testo molto grande.
cat words.page
Nella finestra del terminale con progress
a, vedrai le statistiche di cat
comando mentre viene eseguito e funziona fino al completamento.
quando cat
finisci di elencare il file progress
ritorna al suo stato di attesa.
Ogni volta che uno dei comandi su cui puoi segnalare esegue un compito considerevole, progress
ti monitorerà e ti segnalerà automaticamente.
È piuttosto buono.
100% completato
Elimina le congetture dal chiederti come funziona un comando di lunga durata e prenditi una pausa dal fissare il cursore con pv
e progress
.
impostaTimeout(funzione(){
!funzione(F,B,e,v,n,T,S)
{Se(f.fbq)Restituzione;n=f.fbq=funzione(){n.callMethod?
n.callMethod.apply(n,argomenti):n.queue.push(argomenti)};
Se(!f._fbq)f._fbq = n;n.push=n;n.loaded=!0;n.version='2.0′;
n.coda=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(T,S) } (window, documento,'copione',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('dentro', '335401813750447');
fbq('traccia', 'Visualizzazione della pagina');
},3000);