1 Ocak 2015 Perşembe

PV aracı ile iki komut arasındaki sürecin detaylarını görüntülemek.

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

Online pfSense Firewall & Router Eğitimi

Merhabalar Online pfSense Firewall & Router eğitimi hazırladım ve Udemy üzerinde yar aldı. Eğitim içeriği toplam 40 ders ve yaklaşık o...