Undertiden kan kopiering af en stor fil, som en film eller et operativsystembillede, tage længere tid end forventet ud fra belastningen på dit system. Da det ikke fortæller udviklingen i operationen, bliver det svært at forstå, hvad der sker præcist.

I scenarier som disse kan en kommando som cv være til stor hjælp, da det ikke kun lader dig kende fremskridtene i operationen, men er også i stand til at vise den resterende tid. I denne artikel vil vi diskutere kommandoen sammen med nogle nyttige eksempler.

Introduktion

cv kommandoen er et værktøj, der specifikt ser ud til coreutils grundlæggende kommandoer, som f.eks. cp, mv, dd, tar, cat og mere, der aktuelt kører på dit system og viser deres fremskridtsprocent. Selvom det er Linux-specifikt, er der også en Mac OSX-port.

Download og installer

For at downloade og installere cv kommandoen, gå til dets Github-depot og hent kildepakken (navnet på den downloadede fil i mit tilfælde var "cv-master.zip"). Når du er færdig, skal du udpakke filerne ved hjælp af følgende kommando:

 pak ud cv-master.zip 

Indtast mappen "cv-master" og kør følgende kommandoer for at opbygge pakken og installer det binære:

 gøre gør installationen 

Bemærk, at cv kommandoen afhænger af "ncurses" -biblioteket, så du skal muligvis installere tilsvarende pakker, som kan gøres ved at køre følgende kommando:

 sudo apt-get install ncurses-dev 

Et andet punkt værd at bemærke er, at binæret efter installationen går ind i "/ usr / local / bin", så sørg for at stien er føjet til dit systemmiljø, ellers vil din shell ikke kunne finde kommandoen, når du kører det. Et alternativ ville være at ændre din nuværende mappe til "/ usr / local / bin" og derefter udføre kommandoen på følgende måde:

 ./cv 

Anvendelse

Her er nogle eksempler på hvordan denne kommando kan bruges:

Bemærk : Alle eksempler, der præsenteres i denne artikel, testes på Ubuntu 14.04.

Et grundlæggende eksempel

Da cv kommandoen viser fremskridt med andre kommandoer, der kører, skal der være en kommando, der kører tilstrækkeligt lang, så at cv kommandoen kan vise noget. For eksempel forsøgte jeg at kopiere en stor fil fra min pen-drev til min Linux-boks, og da cp kommandoen blev udført, skiftede jeg straks til en anden skalfane og udførte følgende kommando:

 ./cv 

Kommandoen viste følgende output:

Det første felt i udgangen er PID for kommandoen, der overvåges, efterfulgt af kommandoen og fremdriften i procent såvel som tal. Et punkt værd at bemærke er, at den første linje i udgangen af cv kommandoen ( cat inactive/flushing/streaming/... ) er standard - jeg kontrollerede koden og fandt ud af, at linjen bliver udskrevet under visse forhold, hvilket tilsyneladende altid får hit (vi kan ignorere det for nu).

Hvis mere end en kommando kører, viser cv kommandoen de fremskridt, der er relateret til dem alle. Her er for eksempel output med to kommandoer, der kører:

Få en estimeret I / O-gennemløb og ETA

Selvom det er nyttigt at kende fremskridtene i en kommando, er det endnu mere praktisk, hvis du lærer at kende andre oplysninger som den resterende tid eller ETA. Til dette giver cv kommandoen kommandolinjen -w .

For eksempel, når følgende kommando blev udført:

 ./cv -w 

Følgende output blev vist:

 [9287] cp / media / himanshu / F58B-9AA9 / casper-rw 10, 3% (105, 2 MiB / 1 GiB) 27, 9 MiB / s eta 0:00:32 

De sidste to felter i udgangen, som repræsenterer estimeret I / O-gennemløb og ETA, betyder at kopifunktionen skrider frem med en hastighed på 27, 9 MB pr. Sekund, og det tager 32 sekunder at fuldføre.

Loop kommandoen

Mens du bruger cv kommandoen, vil du bemærke, at den viser fremdriftsoplysningerne på det pågældende tidspunkt og derefter afsluttes. For at sikre at cv ikke ophører, før kommandoen bliver overvåget, skal du bruge -m indstillingen.

 cv -m 

Dette sikrer, at cv kommandobåndene under overvågede processer stadig kører.

Konklusion

cv kommandoen kunne være et aktiv for dem, der beskæftiger sig med overførsel af tunge filer eller andre tidskrævende operationer på Linux-kommandolinjen. Det er overflødigt at sige, at være open source, du kan ændre den måde, den interagerer på og virker ved at ændre sin kodebase, hvilket er ret lille og let at forstå.

Har du nogensinde brugt cv eller nogen anden lignende kommando? Hvordan var din oplevelse? Del dine tanker i kommentarerne nedenfor.