Merhabalar, bugün Linux pv komutu kullanmak isminde bir blog yazısı yazmayı deneyeceğim. Konuya geçmeden önce ülkede yaşanılan felaket sebebi ile uykusuz, bitap ne kadar sağlıklı olacak bilmiyorum. Ölenler için allahtan rahmet yaralılar için geçmiş olsun diliyorum. Depremde ve zor durumda olanlara yardım etmek isterseniz ahbap bağış kısmına bakabilirsiniz.
Yedekleme yaparken ve Linux sisteminizdeki büyük dosyaları kopyalarken/taşırken, devam eden bir işlemin ilerlemesini izlemek isteyebilirsiniz. Birçok terminal aracı, bir komut terminalde çalışırken ilerleme bilgilerini görüntülemenize izin verecek işlevselliğe sahip değildir.
Pv komutu, bir pipe üzerinden gönderilen verilerin ilerlemesini izlemenizi sağlayan terminal tabanlı bir araçtır. Pv komutunu kullanırken, size aşağıdaki bilgilerin görsel bir görüntüsünü verir:
- Geçen zaman.
- Tamamlanan yüzde bir ilerleme çubuğu.
- Mevcut verim oranını gösterir.
- Aktarılan toplam veri.
- ve ETA (tahmini Süre).
Nasıl Kurulum Yapılır
Pv komutu çoğu Linux dağıtımında varsayılan olarak kurulu değildir. Kurulum için aşağıdaki adımları takip edebilirsiniz.
RedHat Tabanlı Sistemlerde
Öncelikle epelrepo’ların sisteminizde yüklü olup olmadığını kontrol etmeniz gereklidir. Eğer yüklü değilse ilk olarak epelrepo yüklemesi yapmanız gerekmektedir eğer yüklemeyi yaptıysanız gerekli olan komutlarımız;
# yum install pv
OR
# dnf install pv
Debian Tabanlı Sistemlerde
sudo apt-get install pv
Diğer Linux Sürümlerinde
$ sudo emerge -a pv [On Gentoo Linux]
$ sudo apk add pv [On Alpine Linux]
$ sudo pacman -S pv [On Arch Linux]
$ sudo zypper install pv [On OpenSUSE]
Pv Komutu Kullanımı ve Örnekleri
Pv komut kullanımı genellikle bir kopyalama işlemin durum takibi için kullanılmaktadır. Üstelik uygun seçeneklerle birlikte iki işlem arasındaki bir ardışık düzene yerleştirerek kullanılabilmektedir.
$ pv file
$ pv options file
$ pv file > filename.out
$ pv options | command > filename.out
$ comand1 | pv | command2
Örnekler
pv test.img > /tmp/test.img

Eğer Pv komutunu Zip dosyası oluşturmak için kullanacaksak
pv /var/log/dmesg | zip > dmesg


cp big_file.iso | pv | gzip > copy_of_big_file.iso.gz
Bu örnekte, pv komutu kullanılırken dosya kopyalama işlemi sırasında geçen zaman, tamamlanan yüzde, mevcut verim oranı, aktarılan toplam veri ve ETA gibi bilgiler görüntülenir.
Ayrıca Wc komutu ile satır sayısı, kelime ve boyut alabilirsiniz
pv -p /var/log/dmesg | wc

Üstelik Dosya yedekleme işlemlerinde process durumu için kullanabilirsiniz
tar -czf – /home/ | (pv -p –timer –rate –bytes > backup.tgz)

Aşağıdaki örnekte iso dosyasını usb sürücüsüne yazmakta kullanırken
dd if=debian-10.11.0-amd64-DVD-1.iso | pv | dd of=/dev/sda bs=4M
Sonuç Olarak
Pv komutu dosya kopyalama/taşıma ve yedekleme işlemlerinin ilerlemesini takip ederken kullanabileceğimiz bir araçtır. Dilerseniz rsync komutununda –progress özelliğinide kullanabilirsinizde.