Boru görüntüleyici - PV (Pipe Viewer) bir boru hattı üzerinden veri akışını gözlemlemek için yazılmış terminal tabanlı bir araçtır. Görsel bir gösterge sayesinde ne kadar veri gönderiyor, ne kadar süre içerisinde tamamlandı gibi iki komutun arasındaki süren detaylarını gösteriyor.
PV aracını root yetkileriyle paket deponuzdan aşağıdaki komut yardımıyla sisteminize kurabilirsiniz.
# sudo apt-get install pv -y
Basit bir örnek ile başlamak gerekirse, aşağıdaki komutu kullanarak source adlı dosyayı sıkıştırıyorsunuz daha sonra pipe işaretini belirttikten sonra pv komutunu eklerseniz size sürecin detayları ile ilgili bilgi verecektir. Birinci komut bildiğiniz üzere bulunduğunuz dizin içerisinde içi boş bir dosya oluşturmanızı sağlar.
# touch source
# tar -cvf dosya.tar.gz source | pv
source 7B 0:00:12 [ 124kB/s] [<======> ]
Aynı örnek üzerine -p parametresini eklerseniz iki komutun arasındaki sürecin sadece ilerleme çubuğunu gösterecektir.
# tar -cvf dosya.tar.gz source | pv -p
source [ <======> ]
Örneğin herhangi bir komut kullandığınızı varsayalım bu komutun ne kadar süre içerisinde bittiğini öğrenmek isterseniz kullandığınız komutun sonuna pipe işaretini belirttikten sonra pv komutunun -t parametresini ekleyebilirsiniz.
# tar -cvf dosya.tar.gz source | pv -t
source 0:00:34
Komut satırında kullandığınız komutun normalde veri aktarım hızını göremezsiniz, veri aktarım hızını görmek isterseniz kullandığınız komutun sonuna pipe işaretini belirttikten sonra pv komutunun -r parametresini kullanabilirsiniz.
# tar -cvf dosya.tar.gz source | pv -r
source [4,78kB/s]
Aşağıdaki komutun ne işe yaradığını açıklamak gerekirse, birinci komutu kullanarak içi boş bir dosya oluşturuyorsunuz, ikinci komut yani pv komutu ile source.log adlı dosyanın içerisinde olmayan verileri yönlendirme yaparak /dev/null dizinine yolluyorsunuz ve iki komutun arasındaki sürecin detaylarını görüyorsunuz. Bildiğiniz üzere /dev/null dizini kendisine yönlendirilen tüm veriyi okuyarak yok eden özel bir sistem sürücüsüdür. ;)
# touch source.log
# pv /dev/null > source.log
2B 00:00:32 [ 2B/s] [<==========> ]
Yukarıdaki örneğimizin aynısı sadece -b parametresini ekleyerek sürecin sadece bayt değerini görebilirsiniz.
# pv -b /dev/null > source.log
2B
Komut satırında echo komutu ile terminal ekranına uzun bir isim yazdırıp sonuna pipe işaretini belirttikten sonra pv komutunun -qL 10 parametresini kullanırsanız ekrana yazdırdığınız ismi 10 saniye içerisinde yavaş yavaş ekrana yazacaktır.
# echo "Bilgi Güvenliği Akademisi" | pv -qL 10
PV komutunu ve parametrelerini bir çok komut ile birlikte kullanabilirsiniz, kullandığınız komutun başına yada sonuna ekleyebilirsiniz. Aşağıdaki kullandığımız komut ile şunu demiş oluyoruz bulunduğumuz dizin altındaki dosyaları listele ardından sürecin detaylarını göster demiş oluyoruz.
# ls | pv -tpreb
boot cdrom dev etc
home initrd.img initrd.img.old lost+found media mnt opt proc root run sbin
selinux srv sys tmp usr var vmlinuz vmlinuz.old
162B 0:00:00 [ 145kB/s] [<=========> ]
" Pv aracı ile ilgili parametreler aşağıdaki gibidir.
Usage: pv [OPTION] [FILE]...
Concatenate FILE(s), or standard input, to standard output,
with monitoring.
-p, --progress show progress bar
-t, --timer show elapsed time
-e, --eta show estimated time of arrival (completion)
-r, --rate show data transfer rate counter
-a, --average-rate show data transfer average rate counter
-b, --bytes show number of bytes transferred
-f, --force output even if standard error is not a terminal
-n, --numeric output percentages, not visual information
-q, --quiet do not output any transfer information at all
-c, --cursor use cursor positioning escape sequences
-W, --wait display nothing until first byte transferred
-s, --size SIZE set estimated data size to SIZE bytes
-l, --line-mode count lines instead of bytes
-i, --interval SEC update every SEC seconds
-w, --width WIDTH assume terminal is WIDTH characters wide
-H, --height HEIGHT assume terminal is HEIGHT rows high
-N, --name NAME prefix visual information with NAME
-L, --rate-limit RATE limit transfer to RATE bytes per second
-B, --buffer-size BYTES use a buffer size of BYTES
-R, --remote PID update settings of process PID
-h, --help show this help and exit
-V, --version show version information and exit
Hiç yorum yok:
Yorum Gönder