pv 测量数据传输进度工具

发布时间: 更新时间: 总字数:660 阅读时间:2m 作者:IP:上海 网址

Linux中pv命令主要用于测量显示数据在管道中的传输进度,它可以为用户提供一个可视化的界面来监控数据流的传输情况

介绍

通过pv命令,可以清楚地看到数据传输的速度、进度条、已经传输的数据量、花费的时间、剩余时间等信息,常用场景:

  • 网络流量统计
  • 数据备份、复制或转换过程中,数据传输的进度以及预计的剩余时间

安装

apt install pv

help

pv --help ...

示例

实时监控网络速度

tcpdump -i ens33 -w - | pv -bert > /dev/null
# 12.0KiB 0:00:02 [8.00  B/s]

监视文件拷贝

# 生成 76M 数据
seq 1 500000000 > text.txt
du -lh text.txt

# 监视一个文件从源目录复制到目标目录的进度
$ pv text.txt > /tmp/text.txt
1.12GiB 0:00:03 [ 232MiB/s] [================>                                 ]  24% ETA 0:00:06

# 指定格式
$ pv -F 'Transfer: %t Elapsed: %e Transfer rate: %r' text.txt > /tmp/text.txt
Transfer: 0:00:01 Elapsed: ETA 0:00:04 Transfer rate: [ 816MiB/s]

监视tar速度

tar cf - source_directory/ | pv -s $(du -sb source_directory/ | awk '{print $1}') | gzip > archive.tar.gz

限制传输速度

限制为 1MB/s

$ cat text.txt | pv -L 1M > /tmp/text.txt
2.00MiB 0:00:02 [1023KiB/s] [   <=>                           ]
本文总阅读量 次 本站总访问量 次 本站总访客数