首頁 - 查詢對照
 收藏

命令查看pv

搜索

pv

顯示當前在命令行執行的命令的進度信息,管道查看器。

補充說明

pv命令 Pipe Viewer 的簡稱,由Andrew Wood 開發。意思是通過管道顯示數據處理進度的信息。這些信息包括已經耗費的時間,完成的百分比(通過進度條顯示),當前的速度,全部傳輸的數據,以及估計剩余的時間。

下載安裝

# Debian 系的操作系統,如 Ubuntu
sudo apt-get install pv

# RedHat系的則這樣:
yum install pv

語法

pv(選項)(參數)
pv [OPTION] [FILE]...

選項

-p, --progress           show progress bar
-t, --timer              show elapsed time
-e, --eta                show estimated time of arrival (completion)
-I, --fineta             show absolute 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
-T, --buffer-percent     show percentage of transfer buffer in use
-A, --last-written NUM   show NUM bytes last written
-F, --format FORMAT      set output format to FORMAT
-n, --numeric            輸出百分比
-q, --quiet              do not output any transfer information at all

-W, --wait               display nothing until first byte transferred
-D, --delay-start SEC    display nothing until SEC seconds have passed
-s, --size SIZE          set estimated data size to SIZE bytes
-l, --line-mode          count lines instead of bytes
-0, --null               lines are null-terminated
-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
-f, --force              output even if standard error is not a terminal
-c, --cursor             use cursor positioning escape sequences

-L, --rate-limit RATE    limit transfer to RATE bytes per second
-B, --buffer-size BYTES  use a buffer size of BYTES
-C, --no-splice          never use splice(), always use read/write
-E, --skip-errors        skip read errors in input
-S, --stop-at-size       stop after --size bytes have been transferred
-R, --remote PID         update settings of process PID

-P, --pidfile FILE       save process ID in FILE

-d, --watchfd PID[:FD]   watch file FD opened by process PID

-h, --help               顯示幫助
-V, --version            顯示版本信息

實例

我們(在 linux 上使用命令行的用戶)的大多數使用場景都會用到的命令是從一個 USB 驅動器拷貝電影文件到你的電腦。如果你使用 cp 來完成上面的任務,你會什么情況都不清楚,直到整個復制過程結束或者出錯。

# 復制文件會有進度
linux [master●] % pv ~/Downloads/CentOS-7-x86_64-Minimal-1511.iso > ~/Desktop/CentOS-7-x86_64-Minimal-1511.iso
# 下面輸入信息
552MiB 0:00:02 [ 212MiB/s] [==================>           ] 91% ETA 0:00:00

# -L 可以讓你修改 pv 命令的傳輸速率。
# 使用 -L 選項來限制傳輸速率為2MB/s。
pv -L 2m /media/himanshu/1AC2-A8E3/fNf.mkv > ./Desktop/fnf.mkv 
# 字符一個個勻速在命令行中顯示出來
echo "Tecmint[dot]com is a community of Linux Nerds and Geeks" | pv -qL 10

# 壓縮文件展示進度信息
pv /media/himanshu/1AC2-A8E3/fnf.mkv | gzip > ./Desktop/fnf.log.gz 


# 用 dd 命令將 iso 寫入磁盤,pv來實現進度條的顯示
sudo pv -cN source < /Users/kacperwang/Downloads/CentOS-7-x86_64-Everything-1511.iso | sudo dd of=/dev/disk2 bs=4m
## 顯示下面進度
source:  5.2GiB 5:11:41 [ 503KiB/s] [=====================>       ] 71% ETA 2:01:56

工具說明:

推薦工具:

工具標簽:

對照查詢