/ / Kako pratiti napredak Linux naredbi (s pv i napretkom)

Kako pratiti napredak Linux naredbi (s pv i napretkom)

Odziv korisnika Linux na prijenosnom računalu

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

sudo apt-get install pv u prozoru terminala

Instalirati pv na Fedori koriste ovu naredbu:

sudo dnf install pv

sudo dnf instalirajte pv u prozoru terminala

Instalirati pv na Manjaru koriste ovu naredbu:

sudo pacman -Syu pv

sudo pacman -Syu pv u terminalu

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

pv /media/dave/SILVERXHD/gparted-live-1.0.0-1-amd64.iso | zip> gparted.zip u prozoru terminala

Informacija pv daje nam da se vidimo u donjoj liniji zaslona.

pv izlaz za stvaranje zip datoteke u prozoru terminala

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

pv /media/dave/SILVERXHD/gparted-live-1.0.0-1-amd64.iso | gparted.iso u prozoru terminala

Čim kopiramo datoteku, dobivamo izvješće o napretku.

kopiranje datoteke s pv-a u prozor terminala

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/

tar -c datoteke pomoći / | pv | tar -x -C Documents / u prozoru terminala

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.

kopiranje datoteka s pv i tar u terminalski prozor

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

katran -czf - ./help-files/ | pv> help-files.tgz u prozoru terminala

Dobijamo iste pokazatelje napretka kao i prije, a arhivska datoteka je stvorena za nas.

izlaz tar i pv u terminalnom prozoru

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

katran -czf - ./help-files/ | pv - p> help-files.tgz u prozoru terminala

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.

izlaz iz pv i tar u terminalnom prozoru

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.

pv ./help-files/*.page | wc u prozoru terminala

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.

izlaz iz pv i wc-a u terminalnom prozoru

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

sudo apt-get napredak instaliranja u prozoru terminala

Instalirati progress u Fedori koristite ovu naredbu:

sudo dnf install progress

sudo dnf instalirati napredak u terminalnoj udovici

Instalirati progress na Manjaru koristite ovu naredbu:

sudo pacman -Syu progress

sudo pacman -Syu napredak u prozoru terminala

Napredak napreduje

kucanje progress u prozoru terminala i pritiskom na Enter dat će vam se popis naredbi koje progress radi s.

progress

izlaz napredka komande u prozoru terminala

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

tar -czf pomoć.tgz ./help-files/ | napredak -m u prozoru terminala

Prozor terminala prikazat će napredak sustava tar naredbu dok stvara arhivu.

tar nadzor praćenja naredbe u prozoru terminala

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

napredak -M u prozoru terminala

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.

napredak čeka da naredba započne u prozoru terminala

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

mačka riječi.stranica u prozoru terminala

U prozoru terminala sa progress u njemu ćete vidjeti statistiku za cat naredbu dok se izvršava i djeluje prema završetku.

izvještavanje o napretku mačke u prozoru terminala

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 .