pv [ console 下的 progress bar ]

最後更新: 2016-08-04

介紹

 

用慣了 M$ 的框框, 每次 copy 檔案時都有 progress bar 出現,

好讓人知幾時可以完工, 那難道 Linux Console 下沒有嗎 ?

有! 它就是 pv 了, 全名 Pipe Viewer

 


安裝

 

# Debaing

apt-get install pv

# Repository: epel

yum install pv

 


用法

 

SYNOPSIS

pv [OPTION] [FILE]...

一般而言, 它可以完全取代 cat 的 !!!

-i SEC        # Wait SEC seconds between updates. The default is to update every second.

無聊一試

pv /dev/zero > /dev/null

17.2GB 0:00:06 [2.82GB/s] [     <=>                                           ]

 * 如果沒有加 "-s" 或用 pv 當 cat, 那 % bar 只係會識左右行

 


例子就故事

 

例子1: 顯示速度 (standin 之後 standout)

./dar_script | pv > /mnt/backup/8-4-11.dar

5.87MB 0:00:07 [ 781kB/s] [      <=>                                          ]

dar_script 是我寫的 backup script 來, 我會把 backup file 寫到 standout 之後 standin 入 pv,

pv 為我們計速後, 就把生成檔案輸出到 /mnt/backup/8-4-11.dar 裡.

 

例子2: 配合 gzip, tar 一起使用

tar -zcf - /var/www/datahunter.org/ | pv > /home/backup/11-04-11-www.tar.gz

tar: Removing leading `/' from member names
32.9MB 0:00:06 [7.74MB/s] [     <=>                                           ]

 

例子 3: 限速 (-L N)

-L RATE          # unit: "k", "m", "g" (bytes)

pv -L 100k /dev/zero > test.bin

 600kiB 0:00:06 [ 100kiB/s] [     <=>

 

例子 4: 建立指定 Size (-s SIZE -S)

目的: 預時間及 % bar

-S                 # Stop

-s SIZE         # unit: "k", "m", "g"

pv -S -s 1g /dev/zero > test.bin

   1GiB 0:00:10 [97.9MiB/s] [================================>] 100%

 

例子 5: 預計幾時 copy 完

-e, --eta