Jak monitorować postęp operacji wiersza poleceń systemu Linux za pomocą polecenia PV.

Jeśli jesteś administratorem systemu Linux, nie ma wątpliwości, że większość czasu pracy spędzasz w wierszu poleceń — instalując i usuwając pakiety; statystyki systemu monitorowania; kopiowanie, przenoszenie, usuwanie rzeczy; problemy z debugowaniem; i więcej. Są chwile, kiedy uruchamiasz polecenie, a zakończenie operacji zajmuje trochę czasu. Jednak zdarzają się również sytuacje, w których wykonane polecenie po prostu się zawiesza, pozostawiając Cię zgadywaniem, co tak naprawdę dzieje się za kulisami.

Zwykle polecenia Linuksa nie dostarczają żadnych informacji związanych z postępem trwającej operacji, co jest bardzo ważne, zwłaszcza gdy masz ograniczony czas. Nie oznacza to jednak, że jesteś bezradny – istnieje polecenie o nazwie pv, które wyświetla przydatne informacje o postępie związane z trwającą operacją wiersza poleceń. W tym artykule omówimy to polecenie, a także jego funkcje za pomocą kilku łatwych do zrozumienia przykładów.

Jak monitorować postęp operacji wiersza poleceń systemu Linux za pomocą polecenia PV

Komenda PV

Opracowany przez Andrew Wooda, PV – czyli Pipe Viewer – wyświetla informacje związane z postępem danych w potoku. Informacje obejmują czas, który upłynął, procent ukończenia (z paskiem postępu), aktualną przepustowość, łączną liczbę przesłanych danych i ETA.

„Aby go użyć, umieść go w potoku między dwoma procesami z odpowiednimi opcjami. Jego standardowe wejście zostanie przekazane do jego standardowego wyjścia, a postęp zostanie pokazany na standardowym błędzie”

Jak monitorować postęp operacji wiersza poleceń systemu Linux za pomocą polecenia PV

Powyższe wyjaśnia stronę podręcznika polecenia.

Pobierz i zainstaluj

Użytkownicy systemów opartych na Debianie, takich jak Ubuntu, mogą łatwo zainstalować narzędzie, uruchamiając następujące polecenie w terminalu:

Jak monitorować postęp operacji wiersza poleceń systemu Linux za pomocą polecenia PV

Sudo apt-get install pv

Jeśli używasz innej dystrybucji Linuksa, możesz zainstalować polecenie za pomocą menedżera pakietów zainstalowanego w twoim systemie. Po pomyślnej instalacji możesz używać narzędzia wiersza poleceń w różnych scenariuszach (patrz następna sekcja). Warto wspomnieć, że we wszystkich przykładach wymienionych w tym artykule użyto pv w wersji 1.2.0.

Jak monitorować postęp operacji wiersza poleceń systemu Linux za pomocą polecenia PV

Funkcje i użycie

Bardzo częstym scenariuszem, do którego prawdopodobnie odnosiłaby się większość z nas (pracujących z wierszem poleceń w systemie Linux), jest kopiowanie pliku filmowego z dysku USB na komputer. Jeśli spróbujesz wykonać powyższą operację za pomocą polecenia cp, będziesz musiał czekać na ślepo, aż kopiowanie zostanie zakończone lub zostanie zgłoszony jakiś błąd.

Jednak w tym przypadku pomocne może być polecenie pv. Oto przykład:

pv /głoska bezdźwięczna/himanshu/1AC2-A8E3/fNf.mkv > ./Pulpit/fnf.mkv

Jak monitorować postęp operacji wiersza poleceń systemu Linux za pomocą polecenia PV

A oto wyjście:

Jak więc widać powyżej, polecenie pokazuje wiele przydatnych informacji związanych z trwającą operacją, w tym ilość przesłanych danych, czas, który upłynął, szybkość przesyłania, pasek postępu, postęp w procentach oraz ilość pozostały czas.

Komenda pv udostępnia różne przełączniki wyświetlania. Na przykład, możesz użyć -p do wyświetlenia procentu, -t do licznika czasu, -r do szybkości transferu, -e do eta i -b do licznika bajtów. Dobrą rzeczą jest to, że nie będziesz musiał pamiętać żadnego z nich, ponieważ wszystkie są domyślnie włączone. Jeśli jednak potrzebujesz wyłącznie informacji związanych tylko z określonym przełącznikiem wyświetlania na wyjściu, możesz przekazać ten przełącznik w poleceniu pv.

Jak monitorować postęp operacji wiersza poleceń systemu Linux za pomocą polecenia PV

Istnieje również przełącznik wyświetlania -n, który umożliwia poleceniu wyświetlanie procentu liczby całkowitej, po jednej w wierszu w przypadku standardowego błędu, zamiast zwykłego wizualnego wskaźnika postępu. Poniżej znajduje się przykład działania tego przełącznika:

pv -n /głoska bezdźwięczna/himanshu/1AC2-A8E3/fNf.mkv > ./Pulpit/fnf.mkv

Ten konkretny przełącznik wyświetlania jest odpowiedni w scenariuszach, w których chcesz przekazać dane wyjściowe do polecenia okna dialogowego.

Idąc dalej, istnieje również opcja wiersza poleceń, -L, która pozwala modyfikować szybkość przesyłania danych polecenia pv. Na przykład użyłem opcji -L, aby ograniczyć szybkość przesyłania danych do 2 MB/s.

Jak monitorować postęp operacji wiersza poleceń systemu Linux za pomocą polecenia PV

pv -L 2m /głoska bezdźwięczna/himanshu/1AC2-A8E3/fNf.mkv > ./Pulpit/fnf.mkv

Jak widać na powyższym zrzucie ekranu, szybkość przesyłania danych została ograniczona zgodnie z moim kierunkiem.

Innym scenariuszem, w którym pv może pomóc, jest kompresja plików. Oto przykład, jak możesz użyć tego polecenia podczas kompresji plików za pomocą Gzip:

Jak monitorować postęp operacji wiersza poleceń systemu Linux za pomocą polecenia PV

pv /głoska bezdźwięczna/himanshu/1AC2-A8E3/fnf.mkv | gzip > ./Pulpit/fnf.log.gz

Wniosek

Jak zauważyłeś, pv to przydatne małe narzędzie, które może pomóc Ci zaoszczędzić cenny czas w przypadku, gdy operacja wiersza poleceń nie działa zgodnie z oczekiwaniami. Ponadto informacje, które wyświetla, mogą być również używane w skryptach powłoki. Zdecydowanie polecam to polecenie; warto spróbować.