Så här kontrollerar du framstegen i löpande kommandon i Linux
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.