GNU/Linux >> Belajar Linux >  >> Linux

Cara Memantau Kemajuan Data Melalui Pipa Menggunakan Perintah 'pv'

Bayangkan skenario ini. Anda mencoba menyalin file besar dari satu direktori ke direktori lain atau dari satu sistem ke sistem lain melalui baris perintah. Seperti yang mungkin Anda ketahui, Anda tidak akan melihat indikasi tugas penyalinan jika Anda menggunakan perintah 'cp'. Anda hanya akan melihat layar kosong. Anda tidak dapat memastikan apakah proses penyalinan berlangsung atau tidak, hingga proses penyalinan selesai. Dalam kasus seperti itu, Anda dapat menggunakan pv perintah untuk memantau kemajuan data. pv, akronim dari p ip v iewer, perintah memungkinkan pengguna untuk melihat kemajuan data melalui pipa, dengan memberikan informasi berikut:

  • total waktu berlalu,
  • persentase selesai (dengan bilah kemajuan),
  • laju keluaran saat ini,
  • total data yang ditransfer,
  • dan ETA.

Dalam tutorial singkat ini, kita akan melihat bagaimana dan di mana menggunakan perintah pv untuk memantau kemajuan data dalam sistem mirip Unix.

Unduh - Lembar Cheat Gratis:"Lembar Cheat Baris Perintah Linux"

Instal pv di Linux

Sebagian besar distribusi Linux modern sudah diinstal sebelumnya dengan perintah pv. Untuk berjaga-jaga jika belum diinstal, Anda dapat menginstalnya dengan menjalankan perintah berikut dari Terminal Anda tergantung pada distribusi Linux yang Anda gunakan.

Di Arch Linux, Antergos, Manjaro Linux:

$ sudo pacman -S pv

Di RHEL, CentOS, Fedora:

$ sudo yum install pv

Atau,

$ sudo dnf install pv

Di Debian, Linux Mint, Ubuntu:

$ sudo apt-get install pv

Di SUSE, openSUSE:

$ sudo zypper in pv

Sekarang, kami telah menginstal pv. Mari saya tunjukkan beberapa contoh.

Pantau Kemajuan Data Melalui Pipa Menggunakan Perintah 'pv'

Perhatikan output dari perintah berikut:

$ cp CentOS7.iso Downloads/

perintah cp

Perintah ini menyalin image ISO CentOS 7 ke Download direktori di sistem lokal saya. Seperti yang Anda lihat pada output di atas, itu tidak menunjukkan bilah kemajuan apa pun. Anda hanya akan melihat kursor berkedip. Kami tidak tahu berapa lama waktu yang dibutuhkan untuk proses penyalinan. Ini terkadang bisa mengganggu karena kami tidak melihat tanda-tanda kapan perintah ini akan selesai. Di sinilah perintah pv membantu. Perintah pv akan menunjukkan kemajuan perintah Linux, dan menunjukkan kapan perintah Linux akan selesai. Jadi, Anda dapat meninggalkan Terminal dan melakukan beberapa tugas lain dan kembali ketika tugas selesai.

Sekarang, mari kita lakukan hal yang sama dengan pipe viewer (pv), dan lihat apa outputnya.

$ pv CentOS7.iso > Downloads/centos.iso

Pantau Kemajuan Data Melalui Pipa Menggunakan Perintah 'pv'

Lihat, Anda mendapatkan perbedaannya? Seperti yang saya katakan, perintah pv menampilkan total waktu yang telah berlalu, persentase selesai (dengan bilah kemajuan), tingkat throughput saat ini, total data yang ditransfer, dan ETA.

Biarkan saya memberi Anda beberapa contoh lagi.

Kami dapat membatasi kecepatan transfer data menggunakan -L beralih seperti yang ditunjukkan pada contoh di bawah ini.

$ pv -L 2m CentOS7.iso > Downloads/centos.iso

Perintah di atas akan membatasi kecepatan transfer data menjadi 2MB per detik . Lihat output berikut.

Batasi kecepatan transfer data menggunakan perintah pv

Jika Anda memiliki banyak file atau direktori, Anda dapat menggunakan pv dengan perintah tar seperti yang ditunjukkan di bawah ini:

$ tar c Notebooks/ | pv | tar x -C Documents/

Perintah di atas akan memampatkan direktori Notebooks, dan menyalinnya ke direktori Documents dan akhirnya mengekstrak isinya.

Berikut adalah contoh lain. Perintah ini akan membuat arsip dari file CentOS7.iso dan simpan di direktori kerja saat ini.

$ pv CentOS7.iso | zip > centos.zip

buat file arsip menggunakan perintah pv

Anda juga dapat menggunakan pv dengan perintah dd untuk menyalin file antar direktori seperti di bawah ini. Perintah ini menyalin file CentOS7.iso dari direktori saat ini ke direktori Downloads.

$ dd if=CentOS7.iso | pv | dd of=Downloads/centos7.iso

gunakan perintah pv dengan perintah dd untuk menyalin file antar direktori

Perintah lain yang berguna untuk menampilkan kemajuan data adalah dialog . Kita dapat menggunakannya bersama dengan perintah pv untuk menunjukkan perkembangan data seperti di bawah ini.

$ tar -czf - Official/ | (pv -n > mybackup.tgz) 2>&1 | dialog --gauge "Compressing files, please wait..." 10 70 0

Contoh keluaran:

gunakan perintah dialog dengan perintah pv untuk menunjukkan kemajuan data

Untuk detail lebih lanjut, lihat halaman manual.

$ man pv

Juga, periksa panduan kami sebelumnya untuk mentransfer file besar dengan cepat antara dua sistem jarak jauh melalui Jaringan menggunakan netcattar , dan pv perintah di sistem operasi Linux dan Unix.

  • Cara Cepat Mentransfer File Besar Melalui Jaringan Di Linux dan Unix

Pembaruan:

Bilah kemajuan untuk perintah "cp" dan "mv" dapat dengan mudah ditambahkan menggunakan tambalan bernama "Salinan Lanjutan" . Untuk detailnya, periksa tautan berikut.

  • Salinan Tingkat Lanjut – Tambahkan Bilah Kemajuan Ke Perintah cp Dan mv Di Linux

Linux
  1. Cara Membuat Database di MySQL Menggunakan Command Line

  2. Bagaimana Cara Mengompres dan Mengekstrak File Menggunakan Perintah tar di Linux?

  3. Cara Menghubungkan Host Jarak Jauh Menggunakan Perintah ssh

  1. Cara Mengekstrak File tar.gz di Linux dengan Menggunakan Command Line

  2. Cara Menghapus Pengguna di Linux Menggunakan Command Line

  3. Bagaimana cara menggunakan perintah nama dasar?

  1. Bagaimana Cara Mendapatkan Hitungan File Dalam Direktori Menggunakan Baris Perintah?

  2. Bagaimana cara memeriksa apakah pipa kosong dan menjalankan perintah pada data jika tidak?

  3. Cara Menonaktifkan Ctrl+c atau Ctrl+z Menggunakan Perintah “trap” di Linux