最後更新: 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