Ibland tar kopiering av en stor fil, som en film eller en operativsystembild, längre tid än förväntat baserat på belastningen på ditt system. Eftersom det inte berättar om hur operationen fortskrider, blir det svårt att förstå vad som händer exakt.

I scenarier som dessa kan ett kommando som cv vara till stor hjälp, eftersom det inte bara låter dig veta hur fort operationen går, men kan också visa den återstående tiden. I den här artikeln kommer vi att diskutera kommandot tillsammans med några användbara exempel.

Introduktion

cv kommandot är ett verktyg som ser specifikt ut för coreutils grundläggande kommandon, som cp, mv, dd, tar, cat mera, som för närvarande körs på ditt system och visar deras procentsats. Även om det är Linux-specifikt finns en Mac OSX-port också tillgänglig.

Ladda ner och installera

För att ladda ner och installera cv kommandot, gå till sitt Github-arkiv och hämta källkodspaketet (namnet på den nedladdade filen i mitt fall var "cv-master.zip"). När du är färdig, extrahera filerna med följande kommando:

 Unzip cv-master.zip 

Ange katalogen "cv-master" och kör följande kommandon för att bygga paketet och installera det binära:

 gör gör installationen 

Observera att cv kommandot beror på biblioteket "ncurses", så du måste kanske installera motsvarande paket som kan utföras genom att köra följande kommando:

 sudo apt-get install ncurses-dev 

En annan sak som är värt att notera är att efter binär installation går binäret i "/ usr / local / bin", så se till att banan läggs till i din systemmiljö, annars kommer ditt skal inte att kunna hitta kommandot när du kör Det. Ett alternativ skulle vara att ändra din nuvarande katalog till "/ usr / local / bin" och kör sedan kommandot på följande sätt:

 ./CV 

Användande

Här är några exempel på hur det här kommandot kan användas:

Obs! Alla exempel som presenteras i den här artikeln testas på Ubuntu 14.04.

Ett grundläggande exempel

Eftersom cv kommandot visar utvecklingen av andra kommandon som körs måste det finnas ett kommando som körs tillräckligt länge så att cv kommandot kan visa något. Till exempel försökte jag kopiera en stor fil från min penna till min Linux-lådan, och när cp kommandot kördes, bytte jag genast till en annan skalflik och utförde följande kommando:

 ./CV 

Kommandot visade följande utmatning:

Det första fältet i utgången är PID för kommandot som övervakas, följt av kommandot och framstegen i procent samt antal. En punkt som är värt att notera är att den första raden i utmatningen av cv kommandot ( cat inactive/flushing/streaming/... ) är standard - jag kollade koden och fann att linjen skrivs ut under vissa förutsättningar, vilket tydligen alltid får hit (vi kan ignorera det för nu).

Om mer än ett kommando körs visar cv kommandot de framsteg som är relaterade till dem alla. Till exempel är här utgången med två kommandon som körs:

Få uppskattad I / O-genomströmning och ETA

Även om det är användbart att känna till ett kommandos framsteg, är det ännu mer praktiskt om du lär dig andra information som den återstående tiden eller ETA. För detta erbjuder cv kommandot kommandoradsalternativet -w.

Till exempel när följande kommando utfördes:

 ./cv -w 

Följande utdata visas:

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

De två sista fälten i utmatningen, som representerar uppskattad I / O-genomströmning och ETA, innebär att kopieringsoperationen fortskrider med en hastighet av 27, 9 MB per sekund och tar 32 sekunder att slutföra.

Loop kommandot

Medan du använder cv kommandot märker du att det visar framdriftsdetaljerna vid det ögonblicket och avslutar sedan. För att säkerställa att cv inte avslutas tills kommandot som övervakas upphör, använd alternativet -m .

 cv-m 

Detta kommer att se till att cv kommandoslingorna under övervakade processer fortfarande körs.

Slutsats

cv kommandot kan vara en tillgång för de som hanterar överföring av tunga filer eller andra tidskrävande operationer på Linux-kommandoraden. Det är självklart att du är öppen källkod, du kan ändra hur det interagerar och fungerar genom att ändra kodbasen, vilket är ganska litet och lätt att förstå.

Har du någonsin använt cv eller något liknande kommando? Hur var din erfarenhet? Dela dina tankar i kommentarerna nedan.