Как да проверите напредъка на изпълняващите команди в Linux
Понякога, докато копирате голям файл, например филм или изображение на операционна система, командата cp
отнема повече от очакваното въз основа на натоварването на вашата система. Тъй като не казва напредъка на операцията, става трудно да се разбере какво точно се случва.
В сценарии като тези, команда като cv
може да бъде от голяма полза, тъй като не само ви позволява да знаете напредъка на операцията, но също така е в състояние да покаже оставащото време. В тази статия ще обсъдим командата заедно с някои полезни примери.
Въведение
Командата cv
е помощна програма, която специално разглежда основните команди coreutils, като cp
, mv
, dd
, tar
, cat
и други, които в момента се изпълняват на вашата система и показват прогреса им. Въпреки че е специфичен за Linux, има и Mac OSX порт.
Изтегляне и инсталиране
За да изтеглите и инсталирате командата cv
, отидете до нейното хранилище Github и изтеглете пакета източник (името на изтегления файл в моя случай беше "cv-master.zip"). След като приключите, изтеглете файловете, като използвате следната команда:
unzip cv-master.zip
Въведете директорията "cv-master" и изпълнете следните команди, за да създадете пакета и да инсталирате двоичното:
направете направете инсталирането
Моля, имайте предвид, че командата cv
зависи от библиотеката "ncurses", така че може да се наложи да инсталирате съответни пакети, които могат да бъдат изпълнени, като изпълните следната команда:
sudo apt-get инсталирате ncurses-dev
Друга важна точка е, че след инсталацията бинарната версия влиза в "/ usr / local / bin", затова се уверете, че пътят е добавен към вашата системна среда, в противен случай черупката няма да може да намери командата, когато стартирате то. Друга алтернатива е да промените текущата директория на "/ usr / local / bin" и след това да изпълните командата по следния начин:
./cv
употреба
Ето няколко примера за това как може да се използва тази команда:
Забележка : Всички примери, представени в тази статия, се тестват на Ubuntu 14.04.
Основен пример
Тъй като командата cv
показва прогреса на други команди, които се изпълняват, трябва да има команда, която да продължи достатъчно дълго, така че командата cv
да може да покаже каквото и да било. Например, опитах да копирам огромен файл от моя перо-диск в моя Linux кутия и като изпълних командата cp
, аз веднага превключих на друг раздел черупки и изпълних следната команда:
./cv
Командата показа следния изход:
Първото поле в изхода е PID на наблюдаваната команда, следвана от командата и прогреса в проценти, както и числа. Трябва да отбележим, че първият ред в изхода на командата cv
( cat inactive/flushing/streaming/...
) е по подразбиране - проверих кода и установих, че линията се отпечатва при определени условия, които очевидно винаги получават (можем да го игнорираме за момента).
Ако се изпълняват повече от една команди, командата cv
показва напредъка, свързан с всички тях. Например, тук е изходът с две изпълнени команди:
Получете прогнозна пропускателна способност за I / O и ETA
Макар че е полезно да знаете напредъка на командата, това е още по-удобно, ако се запознаете с друга информация, като оставащото време или ЕТА. За тази цел командата cv
предлага опцията -w
командния ред.
Например, когато се изпълни следната команда:
./cv -w
извежда се следният изход:
[9287] cp / media / himanshu / F58B-9AA9 / casper-rw 10.3% (105.2 MiB / 1 GiB) 27.9 MiB / s eta 0:00:32
Последните две полета в изхода, които представляват прогнозна I / O пропускателна способност и ЕТА, показват, че операцията за копиране се развива със скорост от 27, 9 MB в секунда и ще отнеме 32 секунди.
Завъртете командата
Докато използвате командата cv
, ще забележите, че тя показва подробностите за напредъка в този миг и след това се прекратява. За да се уверите, че cv
не прекъсва, докато наблюдаваната команда не приключи, използвайте опцията -m
.
cv-m
Това ще гарантира, че командата cv
цикли, докато наблюдаваните процеси все още се изпълняват.
заключение
Командата cv
може да бъде предимство за тези, които се занимават с прехвърляне на тежки файлове или други отнемащи много време операции на командния ред на Linux. Излишно е да казвам, че като отворен код, можете да промените начина, по който той взаимодейства и работи, като промените кодовата база, която е доста малка и лесна за разбиране.
Използвали ли сте някога cv
или друга подобна команда? Как беше вашият опит? Споделете вашите мисли в коментарите по-долу.