Umjesto da slijepite, koristite Linux pv
i progress
naredbe za praćenje napretka naredbe. Ovi alati daju vam trake za napredak za naredbe koje obično nemaju. Vidjet ćete i predviđeno vrijeme do završetka.
Ako letite avionom na dugu linijubez video ekrana u naslonima sjedala, nije lako znati koliko ste daleko na svom putovanju. Znate kad ste poletjeli. Znate koliko se očekuje let. Ali kako znati jeste li na putu, na vrijeme ili zaostajete? Ako ne želite gledati film u letu, obično možete prebaciti video zaslon kako biste prikazali kartu s položajem vašeg zrakoplova na njemu. Dobivate i neke statistike, poput očekivanog vremena dolaska (ETA), što je sjajno.
Pokretanje naredbe iz prozora terminala možeponekad se osjećaju kao let dugog puta bez video ekrana. Nemate ništa za naznačiti je li sve u redu ili je proces visio, niti koliko je blizu završetka. Treperavi pokazivač nije baš informativan.
To. pv
i progress
naredbe vam daju malo statistike i malovizualne povratne informacije. Možete vidjeti koliko je postupak dovršen. To znači da dobijete ETA za pokrenute procese. U usporedbi s buljenjem u pokazivač, to pobjeđuje rukama dolje.
Instaliranje pv-a
Morate instalirati pv
.
Instalirati pv
na Ubuntuu koristite ovu naredbu:
sudo apt-get install pv
Instalirati pv
na Fedori koriste ovu naredbu:
sudo dnf install pv
Instalirati pv
na Manjaru koriste ovu naredbu:
sudo pacman -Syu pv
Pomoću pv
pv
stoji za preglednik cijevi. Piping mora negdje biti uključen u naredbu. Evo primjera kroz koji prolazimo ISO sliku zip
napraviti komprimiranu zip datoteku ISO-a.
Da biste naredbe usporili dovoljno da bi se mogao napraviti snimak zaslona, neke su datoteke u primjerima korištenim za ovaj članak pohranjene na stari, spori, vanjski USB zvani SILVERXHD.
pv /media/dave/SILVERXHD/gparted-live-1.0.0-1-amd64.iso | zip > gparted.zip
Informacija pv
daje nam da se vidimo u donjoj liniji zaslona.
S lijeva na desno, informacije koje su prikazane su:
- Do sada preneseni podaci.
- Vrijeme je daleko proteklo.
- Brzina prijenosa podataka (protok).
- Traka napretka i postotak dovršene brojke.
- Procijenjeno vrijeme preostalo prije završetka (ETA).
Kopiranje datoteke s pv
Za kopiranje datoteke s izlazom iz pv
, koristi ovu naredbu:
pv /media/dave/SILVERXHD/gparted-live-1.0.0-1-amd64.iso > gparted.iso
Čim kopiramo datoteku, dobivamo izvješće o napretku.
Kopiranje više datoteka s pv
Za kopiranje više datoteka i mapa sa pv
trebamo koristiti mali trik. Koristimo tar
da premjestimo datoteke za nas.
tar -c help-files/ | pv | tar -x -C Documents/
To. tar -c help-files/
dio naredbe zapovijeda tar
stvoriti (-c
) arhivu datoteka u mapi datoteka datoteka pomoći. Ovo je kroz cjevovod pv
tako da dobivamo prikaz napretka. Zatim se cijev vraća natrag tar
za posljednji dio naredbe. Arhiva se izdvaja (-x
) i imenik se mijenja (-C
) u Dokumente prije ekstrakcije.
Datoteke i mape koje se nalaze u datotekama pomoći kopiraju se u mapu Dokumenti s prikazom napretka.
Izlaz je ovaj put malo drugačiji.
Ne dobivamo ETA. Traka napretka sada prikazuje pokazivač kretanja. Pokazuje da je proces aktivan, ali ne raste s lijeva na desno kao tradicionalna traka napretka. pv
je ograničena na prikazivanje informacija koje može izvući iz procesa koji se provodi.
Pomoću pv i tar za stvaranje arhive
Kopiranje datoteka s pv
i tar
ne ostavlja nam arhivsku datoteku. Autor je stvorio svojevrsnu "virtualnu" arhivu tar
, koji se puni ravno natrag tar
za izdvajanje datoteka. Ako je naš cilj kopiranje datoteka, to je ostvareno. Ali što ako želimo stvoriti arhivsku datoteku?
Još uvijek možemo koristiti tar
stvoriti arhivsku datoteku i dobiti izvješće o napretku pv
, Opcije se koriste sa tar
su -c
(stvoriti arhivu), -z
(komprimirati gzip) i -f
(naziv datoteke arhive).
Napominjemo da koristimo -
kao naziv datoteke, što uzrokuje tar
koristiti stdout i upisati svoj izlaz u prozor terminala. Ne vidimo taj izlaz jer je prolazan pv
.
Stvarno ime arhive postat će naziv datoteke iz koje šaljemo izlaz pv
u. U ovom slučaju to je "help-files.tgz".
tar -czf - ./help-files/ | pv > help-files.tgz
Dobijamo iste pokazatelje napretka kao i prije, a arhivska datoteka je stvorena za nas.
ODNOSE: Kako komprimirati i izdvojiti datoteke pomoću tar naredbe na Linuxu
Opcije pv ekrana
Postoji nekoliko mogućnosti koje možete koristiti s njima pv
da promijeni detalje svog izvješća.
Ako koristite bilo koju od ovih opcija, sve ostale opcije su isključene. Dakle, ako želite koristiti tri opcije prikaza, tada morate navesti te tri mogućnosti.
koristeći pv
bez ikakvih opcija isto je kao i korištenje -pterb
opcije.
- -p: prikaz postotak potpuna. Ovo je traka napretka i postotak dovršene brojke.
- -t: prikaz proteklih vrijeme.
- -e: prikaz ETA.
- -r: prikaz stopa prijenosa podataka.
- -b: prikaz bajt brojanje (do sada preneseni podaci).
- -n: prikaz postotka kao broj, Ovo ispisuje postotak završen kao cijeli broj, sa svakim novim ažuriranjem u novom retku.
Ponovimo zadnju naredbu i prebacimo -p
(postotak dovršeno) do pv
.
tar -czf - ./help-files/ | pv - p > help-files.tgz
Ovo isključuje sve ostale mogućnosti prikaza. pv
pruža samo postotak dovršenog elementa.
Jer pv
ne dobije postotak dovršene brojke od tar
, traka napretka zamijenjena je pokazivačem kretanja. Nema postotka broja.
Upotreba pv-a s wc-om
Možemo koristiti pv
uvesti tekstualnu datoteku (ili datoteke) u wc
. wc
tada će računati brojeve povrataka, znakova i riječi i pv
dat će nam izvještaj o napretku.
Ovdje smo u mapu svih datoteka ".page" u imeniku datoteka pomoći wc
.
Kada wc
dovršavamo, možemo vidjeti naš broj vraćanja (linija), znakova i riječi iz svih datoteka ".page" u mapi datoteka datoteka pomoći.
Instaliranje naredbe za napredak
To. progress
naredba daje iste vrste korisnih informacija kao pv
, ali radi s određenim skupom Linux naredbi.
Instalirati progress
u Ubuntuu koristite ovu naredbu:
sudo apt-get install progress
Instalirati progress
u Fedori koristite ovu naredbu:
sudo dnf install progress
Instalirati progress
na Manjaru koristite ovu naredbu:
sudo pacman -Syu progress
Napredak napreduje
kucanje progress
u prozoru terminala i pritiskom na Enter dat će vam se popis naredbi koje progress
radi s.
progress
Korištenje napretka s cijevima
Postoje dvije tehnike pomoću kojih možemo nadgledati naredbe progress
, Prvi je korištenje cijevi.
To. tar
naredba je na popisu podržanih naredbi koje progress
može nadgledati, pa koristimo tar
.
Opcije koje ćemo koristiti su standardne -c
(stvoriti arhivu), -z
(komprimirati gzip) i -f
(naziv datoteke) opcije. Stvorit ćemo komprimiranu arhivu svega što se nalazi u mapi s datotekama pomoći, a arhiva će biti nazvana "help.tgz".
Mi to pretvaramo u progress
i pomoću -m
(monitor) opcija tako progress
nastavlja izvještavati o procesu dok ga ne dovrši.
tar -czf help.tgz ./help-files/ | progress -m
Prozor terminala prikazat će napredak sustava tar
naredbu dok stvara arhivu.
Kako se svaka datoteka obrađuje, ona se navodi s sljedećim podacima:
- ID procesa.
- Naziv procesa.
- Postotak je završen.
- Obrađeni podaci i ukupna veličina datoteke.
- Brzina prijenosa (propusnost).
- Preostalo vrijeme (ETA).
Možda ćete biti iznenađeni kad se pojavi drugi skup podataka. Ovaj prvi skup podataka namijenjen je tar
, Drugi je za gzip
. tar
pozivi gzip
izvesti kompresiju. Jer gzip
nalazi se na popisu podržanih naredbi, progress
izvješća o tome.
Korištenje napredovanja u načinu rada Kontinuirano
Možeš koristiti progress
u načinu kontinuiranog praćenja u stvarnom vremenu pomoću opcije -M (monitor).
U prozor terminala upišite sljedeću naredbu:
progress -M
progress
izvijestiće da ne postoje naredbe koje se pokreću za praćenje. Ali niste vraćeni u naredbeni redak. progress
čeka dok se ne započne naredba koju može nadzirati. Tada će automatski početi izvještavati o tome.
U drugi prozor terminala upišite naredbu koja se nalazi na popisu naredbi koje napredak može nadzirati.
Upotrijebit ćemo cat
, Naredbe koje su prebrzo neće biti registrirane progress
, pa ćemo navesti sadržaj vrlo duge tekstualne datoteke.
cat words.page
U prozoru terminala sa progress
u njemu ćete vidjeti statistiku za cat
naredbu dok se izvršava i djeluje prema završetku.
Kada cat
završava s popisom datoteke progress
vraća u svoje stanje čekanja.
Svaki put kada jedna naredba o kojoj može izvještavati izvršava značajan zadatak, progress
automatski će ga nadzirati i izvještavati o njemu.
To je prilično uredno.
100% završeno
Izvedite nagađanja pitajući se kako dugo djeluje naredba i odmarajte se od razmišljanja kursora sa pv
i progress
.