Cara Memantau Kemajuan Perintah Linux (Dengan pv dan kemajuan)

Diterbitkan: 2022-01-29
Prompt terminal Linux di laptop
Fatmawati Achmad Zaenuri/Shutterstock.com

Alih-alih terbang buta, gunakan perintah pv dan progress Linux untuk melacak progres perintah. Utilitas ini akan memberi Anda bilah kemajuan untuk perintah yang biasanya tidak ada. Anda juga akan melihat perkiraan waktu hingga selesai.

Jika Anda melakukan penerbangan jarak jauh di pesawat tanpa layar video di sandaran kursi, tidak mudah untuk mengetahui seberapa jauh perjalanan Anda. Anda tahu kapan Anda lepas landas. Anda tahu berapa lama waktu yang dibutuhkan untuk penerbangan. Tapi bagaimana Anda tahu jika Anda berada di jalur, tepat waktu, atau jauh di belakang jadwal? Jika Anda tidak ingin menonton film dalam penerbangan, Anda biasanya dapat mengganti layar video untuk menampilkan peta dengan posisi pesawat Anda di atasnya. Anda juga mendapatkan beberapa statistik, seperti perkiraan waktu kedatangan (ETA), yang sangat bagus.

Memulai perintah dari jendela terminal terkadang terasa seperti penerbangan jarak jauh tanpa layar video. Anda tidak perlu memberikan indikasi apa pun jika semuanya baik-baik saja atau jika prosesnya macet, atau seberapa dekat dengan penyelesaiannya. Kursor yang berkedip tidak terlalu informatif.

Perintah pv dan progress memberi Anda beberapa statistik dan sedikit umpan balik visual. Anda dapat melihat seberapa dekat proses selesai. Itu berarti Anda mendapatkan ETA untuk proses yang sedang berjalan. Dibandingkan dengan menatap kursor, itu menang telak.

Menginstal pv

Anda harus menginstal pv .

Untuk menginstal pv di Ubuntu gunakan perintah ini:

 sudo apt-get install pv 

Untuk menginstal pv di Fedora gunakan perintah ini:

 sudo dnf instal pv 

Untuk menginstal pv di Manjaro gunakan perintah ini:

 sudo pacman -Syu pv 

Menggunakan pv

pv adalah singkatan dari pipe viewer. Piping harus terlibat dalam perintah di suatu tempat. Berikut adalah contoh di mana kami menyalurkan gambar ISO melalui zip untuk membuat file zip terkompresi dari ISO.

Iklan

Untuk memperlambat perintah sehingga tangkapan layar dapat diambil, beberapa file dalam contoh yang digunakan untuk artikel ini disimpan di USB eksternal lama yang lambat bernama SILVERXHD.

 pv /media/dave/SILVERXHD/gparted-live-1.0.0-1-amd64.iso | zip > gparted.zip 

Informasi yang diberikan pv kepada kita dapat dilihat di garis bawah layar.

Dari kiri ke kanan, informasi yang ditampilkan adalah:

  • Data yang ditransfer sejauh ini.
  • Waktu berlalu jauh.
  • Kecepatan transfer data (throughput).
  • Bilah kemajuan dan persentase angka yang diselesaikan.
  • Perkiraan waktu tersisa sebelum selesai (ETA).

Menyalin File dengan pv

Untuk menyalin file dengan output dari pv , gunakan perintah ini:

 pv /media/dave/SILVERXHD/gparted-live-1.0.0-1-amd64.iso > gparted.iso 

Kami mendapatkan laporan kemajuan saat file disalin.

menyalin file dengan pv di jendela terminal te

Menyalin Banyak File dengan pv

Untuk menyalin banyak file dan folder dengan pv kita perlu menggunakan sedikit trik. Kami menggunakan tar untuk memindahkan file untuk kami.

 tar -c file bantuan/ | pv | tar -x -C Dokumen/ 

Iklan

Bagian tar -c help-files/ dari perintah menginstruksikan tar untuk membuat ( -c ) arsip file di folder file bantuan. Ini disalurkan melalui pv sehingga kami mendapatkan tampilan kemajuan. Itu kemudian disalurkan kembali ke tar untuk bagian terakhir dari perintah. Arsip diekstraksi ( -x ) dan direktori diubah ( -C ) menjadi Dokumen sebelum ekstraksi.

Jadi, file dan folder yang ada di file bantuan disalin ke folder Dokumen, dengan tampilan progres.

Outputnya kali ini sedikit berbeda.

Kami tidak mendapatkan ETA. Bilah kemajuan sekarang menampilkan indikator bergerak. Ini menunjukkan bahwa prosesnya aktif, tetapi tidak tumbuh dari kiri ke kanan seperti bilah kemajuan tradisional. pv terbatas untuk menampilkan informasi yang dapat diekstraksi dari proses yang sedang disalurkan.

Menggunakan pv dan tar untuk Membuat Arsip

Menyalin file dengan pv dan tar tidak meninggalkan kita dengan file arsip. Semacam arsip "virtual" dibuat oleh tar , yang langsung diumpankan kembali ke tar untuk mengekstrak file. Jika tujuan kami adalah untuk menyalin file, itu tercapai. Tetapi bagaimana jika kita ingin membuat file arsip?

Kami masih dapat menggunakan tar untuk membuat file arsip dan mendapatkan laporan kemajuan dari pv . Opsi yang digunakan dengan tar adalah -c (buat arsip), -z (kompres dengan gzip) dan -f (nama file arsip).

Perhatikan bahwa kita menggunakan - sebagai nama file, yang menyebabkan tar menggunakan stdout, dan menulis outputnya ke jendela terminal. Kami tidak melihat output itu karena disalurkan melalui pv .

Iklan

Nama sebenarnya dari arsip akan menjadi nama file tempat kita menyalurkan output dari pv . Dalam hal ini, ini adalah "help-files.tgz".

 tar -czf - ./help-files/ | pv > file-bantuan.tgz 

Kami mendapatkan indikator kemajuan yang sama seperti sebelumnya, dan file arsip dibuat untuk kami.

TERKAIT: Cara Mengompres dan Mengekstrak File Menggunakan Perintah tar di Linux

Opsi Tampilan pv

Ada sejumlah opsi yang dapat Anda gunakan dengan pv untuk mengubah detail laporannya.

Jika Anda menggunakan salah satu opsi ini, semua opsi lainnya dimatikan. Jadi, jika Anda ingin menggunakan tiga opsi tampilan, Anda perlu menentukan ketiga opsi tersebut.

Menggunakan pv tanpa opsi apa pun sama dengan menggunakan opsi -pterb .

  • -p : menampilkan persentase selesai. Ini adalah bilah kemajuan dan persentase angka yang diselesaikan.
  • -t : menampilkan waktu yang telah berlalu.
  • -e : menampilkan ETA .
  • -r : menampilkan kecepatan transfer data.
  • -b : menampilkan jumlah byte (data yang ditransfer sejauh ini).
  • -n : menampilkan persentase sebagai bilangan bulat . Ini mencetak persentase yang diselesaikan sebagai angka integer, dengan setiap pembaruan baru pada baris baru.

Mari ulangi perintah terakhir dan berikan opsi -p (persentase selesai) ke pv .

 tar -czf - ./help-files/ | pv - p > file bantuan.tgz 

Iklan

Ini mematikan semua opsi tampilan lainnya. pv menyediakan persentase elemen yang diselesaikan saja.

Karena pv tidak mendapatkan persentase angka yang diselesaikan dari tar , bilah kemajuan diganti dengan indikator bergerak. Tidak ada angka persentase.

Menggunakan pv Dengan wc

Kita dapat menggunakan pv untuk menyalurkan file teks (atau file) ke wc . wc kemudian akan menghitung carriage return, karakter, dan kata-kata dan pv akan memberi kita laporan kemajuan.

Di sini kita menyalurkan semua file ".page" di direktori file bantuan ke wc .

Ketika wc selesai, kita dapat melihat jumlah carriage return (baris), karakter, dan kata dari semua file ".page" di folder file bantuan.

Menginstal Perintah kemajuan

Perintah progress memberikan jenis informasi berguna yang sama seperti pv , tetapi berfungsi dengan serangkaian perintah Linux tertentu.

Untuk menginstal progress di Ubuntu, gunakan perintah ini:

 Sudo apt-get install progres 

Untuk menginstal progress di Fedora, gunakan perintah ini:

 Sudo dnf instal kemajuan 

Sudo dnf menginstal kemajuan di terminal janda

Untuk menginstal progress di Manjaro, gunakan perintah ini:

 sudo pacman -Syu kemajuan 

Kemajuan Perintah Bekerja Dengan

Mengetik progress di jendela terminal dan menekan Enter akan memberi Anda daftar perintah yang berfungsi dengan progress .

 kemajuan 

Menggunakan Kemajuan Dengan Pipa

Ada dua teknik yang dapat kita gunakan untuk memantau perintah dengan progress . Yang pertama adalah menggunakan pipa.

Perintah tar ada dalam daftar perintah yang didukung yang dapat dipantau progress , jadi mari gunakan tar .

Opsi yang akan kita gunakan adalah opsi standar -c (buat arsip), -z (kompres dengan gzip) dan -f (nama file). Kami akan membuat arsip terkompresi dari semua yang ada di folder file bantuan, dan arsip tersebut akan diberi nama "help.tgz".

Kami menyalurkannya ke progress dan menggunakan opsi -m (monitor) sehingga progress terus melaporkan proses hingga selesai.

 tar -czf help.tgz ./help-files/ | kemajuan -m 

Jendela terminal akan menunjukkan kemajuan perintah tar saat membuat arsip.

Iklan

Saat setiap file diproses, itu terdaftar, dengan informasi berikut:

  • ID proses.
  • Nama proses.
  • Persentase selesai.
  • Data diproses dan ukuran total file.
  • Kecepatan data (throughput).
  • Perkiraan waktu yang tersisa (ETA).

Anda mungkin terkejut melihat kumpulan data kedua muncul. Kumpulan data pertama ini untuk tar . Yang kedua adalah untuk gzip . tar memanggil gzip untuk melakukan kompresi. Karena gzip ada dalam daftar perintah yang didukung, laporan progress .

Menggunakan Kemajuan dalam Mode Monitor Berkelanjutan

Anda dapat menggunakan progress dalam mode monitor terus-menerus waktu nyata dengan menggunakan opsi -M (monitor).

Ketik perintah berikut di jendela terminal:

 kemajuan -M 

progress akan melaporkan bahwa tidak ada perintah yang berjalan untuk dipantau. Tetapi Anda tidak dikembalikan ke baris perintah. progress menunggu sampai perintah yang dapat dipantau dimulai. Kemudian secara otomatis akan mulai melaporkannya.

Di jendela terminal lain, ketikkan perintah yang ada di daftar perintah yang dapat dipantau kemajuannya.

Kita akan menggunakan cat . Perintah yang berakhir terlalu cepat tidak akan didaftarkan dengan progress , jadi kami akan mencantumkan konten file teks yang sangat panjang.

 kata-kata kucing.page 

Iklan

Di jendela terminal dengan progress di dalamnya, Anda akan melihat statistik untuk perintah cat saat dijalankan dan bekerja menuju penyelesaian.

Ketika cat selesai mendaftar, progress file kembali ke status menunggu.

Setiap kali salah satu perintah yang dapat dilaporkan melakukan tugas yang cukup besar, progress akan secara otomatis memantau dan melaporkannya.

Itu cukup rapi.

100% Selesai

Hilangkan tebakan dari bertanya-tanya bagaimana kinerja perintah yang berjalan lama, dan istirahatlah dari merenungkan kursor Anda dengan pv dan progress .

TERKAIT: Laptop Linux Terbaik untuk Pengembang dan Penggemar