Как да наблюдавате напредъка на Linux командите (с pv и напредък)
Фатмавати Ахмад Заенури/Shutterstock.com
Вместо да летите на сляпо, използвайте Linux |_+_| и |_+_| команди за проследяване на напредъка на дадена команда. Тези помощни програми ще ви дадат ленти за напредък за команди, които обикновено нямат такива. Ще видите и прогнозно време до завършване.
Ако сте на полет на дълги разстояния със самолет без видеоекрани в облегалките на седалките, не е лесно да разберете колко далеч сте изминали. Знаеш кога си излетял. Знаете колко време се очаква да отнеме полетът. Но как да разберете дали сте на път, навреме или много изоставате от графика? Ако не искате да гледате филма по време на полет, обикновено можете да превключите видео екрана, за да покажете карта с позицията на вашия самолет върху него. Получавате и някои статистически данни, като очаквано време на пристигане (ETA), което е страхотно.
Стартирането на команда от прозореца на терминала понякога може да изглежда като полет на дълги разстояния без видео екран. Нямате какво да дадете каквато и да е индикация дали всичко е наред или дали процесът е спрял, нито колко близо е до завършване. Мигащият курсор не е много информативен.
|_+_| и |_+_| командите ви дават малко статистически данни и малко визуална обратна връзка. Можете да видите колко близо е процесът да завърши. Това означава, че получавате ETA за вашите работещи процеси. В сравнение с гледането в курсора, това печели ръце.
Инсталиране на pv
Трябва да инсталирате |_+_|.
За да инсталирате |_+_| в Ubuntu използвайте тази команда:
pv
За да инсталирате |_+_| във Fedora използвайте тази команда:
progress
За да инсталирате |_+_| на Manjaro използвайте тази команда:
pv
Използването на pv
|_+_| означава зрител на тръбата . Тръбопроводите трябва да участват някъде в командата. Ето пример, в който предаваме ISO изображение през |_+_| за да направите компресиран zip файл на ISO.
РекламаЗа да забавят командите достатъчно, за да може да се направи екранна снимка, някои от файловете в примерите, използвани за тази статия, бяха съхранени на стар, бавен външен USB, наречен SILVERXHD.
progress
Информацията |_+_| ни дава, може да се види в долния ред на дисплея.
Отляво надясно информацията, която се показва е:
- Данните, прехвърлени до момента.
- Времето изтече далеч.
- Скоростта на пренос на данни (пропускателна способност).
- Лента за напредък и процент завършена цифра.
- Прогнозното оставащо време до завършване (ETA).
Копиране на файл с pv
За да копирате файл с изход от |_+_|, използвайте тази команда:
pv
Получаваме отчет за напредъка, когато файлът се копира.
Копиране на множество файлове с pv
За да копирате множество файлове и папки с |_+_| трябва да използваме малък трик. Използваме |_+_| за да преместите файловете вместо нас.
pv
Реклама
|_+_| част от командата инструктира |_+_| за да създадете (|_+_|) архив на файловете в папката help-files. Това се предава чрез |_+_| така че да получим дисплей за напредъка. След това се връща обратно в |_+_| за последната част от командата. Архивът се извлича (|_+_|) и директорията се променя (|_+_|) на Документи преди извличането.
И така, файловете и папките, които са в помощните файлове, се копират в папката Documents, с показване на напредъка.
Този път резултатът е малко по-различен.
Ние не получаваме ETA. Лентата за напредъка вече показва движещ се индикатор. Показва, че процесът е активен, но не расте отляво надясно като традиционна лента за напредък. |_+_| е ограничено до показване на информацията, която може да извлече от процеса, който се предава.
Използване на pv и tar за създаване на архив
Копиране на файлове с |_+_| и |_+_| не ни оставя с архивен файл. Един вид виртуален архив се създава от |_+_|, който се подава направо обратно в |_+_| за да извлечете файловете. Ако нашата цел е да копираме файлове, това е постигнато. Но какво ще стане, ако искаме да създадем архивен файл?
Все още можем да използваме |_+_| за да създадете архивен файл и да получите отчет за напредъка от |_+_|. Опциите, използвани с |_+_| са |_+_| (създайте архив), |_+_| (компресирайте с gzip) и |_+_| (име на файла на архива).
Имайте предвид, че използваме |_+_| като име на файла, което причинява |_+_| да използвам stdout , и да запише неговия изход в прозореца на терминала. Не виждаме този изход, защото се предава през |_+_|.
РекламаИстинското име на архива ще бъде името на файла, от който предаваме изхода от |_+_| в В този случай това е help-files.tgz.
pv
Получаваме същите индикатори за напредък, както преди, и архивният файл се създава за нас.
СВЪРЗАНИ: Как да компресирате и извличате файлове с помощта на командата tar в Linux
Опции за pv дисплей
Има редица опции, които можете да използвате с |_+_| да промени подробностите в своя доклад.
Ако използвате някоя от тези опции, всички други опции се изключват. Така че, ако искате да използвате три от опциите за показване, тогава трябва да посочите тези три опции.
Използвайки |_+_| без никакви опции е същото като използването на |_+_| настроики.
- -стр : показване на процент завършен. Това е лентата за напредък и цифрата за завършен процент.
- -т : показва изминалото време .
- -И : показване на И .
- -r : показване на ставка на трансфер на данни.
- -б : показване на байт count (данните, прехвърлени досега).
- -н : показва процента като цяло число . Това отпечатва завършения процент като цяло число, с всяка нова актуализация на нов ред.
Нека повторим последната команда и предадем |_+_| (процент завършен) опция до |_+_|.
pv
Реклама
Това изключва всички други опции за показване. |_+_| предоставя само процента завършен елемент.
Защото |_+_| не получава процент завършена цифра от |_+_|, лентата за напредък се заменя с движещ се индикатор. Няма процентна цифра.
Използване на pv с wc
Можем да използваме |_+_| за въвеждане на текстов файл (или файлове) в |_+_|. |_+_| след това ще преброи връщанията на карета, знаците и думите и |_+_| ще ни даде отчет за напредъка.
Тук прехвърляме всички .page файлове в директорията help-files в |_+_|.
Когато |_+_| завършва, можем да видим нашия брой връщания на карета (редове), знаци и думи от всички .page файлове в папката help-files.
Инсталиране на командата за напредък
|_+_| команда дава същия вид полезна информация като |_+_|, но работи със специфичен набор от команди на Linux.
За да инсталирате |_+_| в Ubuntu, използвайте тази команда:
pv
За да инсталирате |_+_| във Fedora, използвайте тази команда:
zip
За да инсталирате |_+_| в Manjaro, използвайте тази команда:
pv
Прогресът на командите работи с
Въведете |_+_| в прозореца на терминала и натискането на Enter ще ви даде списък с командите, които |_+_| работи със.
pv
Използване на Progress With Pipes
Има две техники, които можем да използваме за наблюдение на команди с |_+_|. Първият е използването на тръби.
|_+_| командата е в списъка с поддържани команди, които |_+_| може да наблюдава, така че нека използваме |_+_|.
Опциите, които ще използваме, са стандартните |_+_| (създайте архив), |_+_| (компресирайте с gzip) и |_+_| опции (име на файл). Ще създадем компресиран архив на всичко в папката help-files и архивът ще бъде наречен help.tgz.
Прехвърляме това в |_+_| и с помощта на |_+_| (монитор) опция, така че |_+_| продължава да отчита процеса, докато не приключи.
pv
Прозорецът на терминала ще покаже напредъка на |_+_| команда, докато създава архива.
Реклама
Тъй като всеки файл се обработва, той се изписва със следната информация:
- ID на процеса.
- Името на процеса.
- Процент завършен.
- Обработени данни и общ размер на файла.
- Скорост на данни (пропускателна способност).
- Очаквано оставащо време (ETA).
Може да се изненадате да видите да се появи втори набор от данни. Този първи набор от данни е за |_+_|. Вторият е за |_+_|. |_+_| повиквания |_+_| за извършване на компресията. Защото |_+_| е в списъка с поддържани команди, |_+_| доклади за това.
Използване на прогрес в режим на непрекъснато наблюдение
Можете да използвате |_+_| в режим на непрекъснато наблюдение в реално време с помощта на опцията -M (монитор).
Въведете следната команда в прозорец на терминала:
tar
|_+_| ще съобщи, че няма изпълнявани команди, които да наблюдава. Но не се връщате в командния ред. |_+_| изчаква, докато стартира команда, която може да наблюдава. След това автоматично ще започне да докладва за него.
В друг прозорец на терминала въведете команда, която е в списъка с команди, които прогресът може да наблюдава.
Ще използваме |_+_|. Командите, които са приключили твърде бързо, няма да се регистрират с |_+_|, така че ще изброим съдържанието на много дълъг текстов файл.
tar -c help-files/
Реклама
В прозореца на терминала с |_+_| в него ще видите статистика за |_+_| команда, докато се изпълнява и работи към завършване.
Когато |_+_| завършва изброяването на файла |_+_| се връща в състояние на изчакване.
Всеки път, когато една от командите, за които може да докладва, изпълнява значителна задача, |_+_| автоматично ще го наблюдава и ще докладва за него.
Това е доста чисто.
100% завършен
Премахнете догадките, като се чудите как се справя една продължителна команда и си направете почивка от съзерцаването на курсора си с |_+_| и |_+_| .
СВЪРЗАНИ: Най-добрите Linux лаптопи за разработчици и ентусиасти
ПРОЧЕТЕТЕ СЛЕДВАЩО- & rsaquo; Кибер понеделник 2021: Най-добрите технологични сделки
- › 5 уебсайта, които всеки потребител на Linux трябва да направи отметка
- › Функции срещу формули в Microsoft Excel: Каква е разликата?
- › Компютърната папка е 40: Как звездата на Xerox създаде работния плот
- › Как да намерите своя Spotify Wrapped 2021
- › Какво представлява MIL-SPEC защита от изпускане?
Дейв Маккей за първи път използва компютри, когато перфорираната хартиена лента беше на мода и оттогава той програмира. След повече от 30 години в ИТ индустрията, той вече е технологичен журналист на пълен работен ден. По време на кариерата си той е работил като програмист на свободна практика, мениджър на международен екип за разработка на софтуер, ръководител на проекти за ИТ услуги и, последно, като служител по защита на данните. Неговото писане е публикувано от howtogeek.com, cloudsavvyit.com, tenterpriser.com и opensource.com. Дейв е евангелист на Linux и привърженик на отворен код.
Прочетете пълната биография