2022
我们一起努力

Linux常用命令—pv命令

Linux常用命令pv命令 Pipe Viewer 的简称,由Andrew Wood 开发。意思是通过管道显示数据处理进度的信息。这些信息包括已经耗费的时间,完成的百分比(通过进度条显示),当前的速度,全部传输的数据,以及估计剩余的时间,下面良许教程网为大家分享一下Linux常用命令—pv命令具体使用方法。

Linux常用命令—pv命令

pv

显示当前在命令行执行的命令的进度信息,管道查看器

下载安装

 # Debian 系的操作系统,如 Ubuntu
 sudo apt-get install pv
 ?
 # RedHat系的则这样:
 yum install pv

语法

 pv(选项)(参数)
 pv [OPTION] [FILE]...

选项

 -p, --progress           显示进度条
 -t, --timer              显示已用时间
 -e, --eta                显示预计到达时间 (完成)
 -I, --fineta             显示绝对估计到达时间
                          (完成)
 -r, --rate               显示数据传输速率计数器
 -a, --average-rate       显示数据传输平均速率计数器
 -b, --bytes              显示传输的字节数
 -T, --buffer-percent     显示正在使用的传输缓冲区百分比
 -A, --last-written NUM   显示上次写入的字节数
 -F, --format FORMAT      将输出格式设置为FORMAT
 -n, --numeric            输出百分比
 -q, --quiet              不输出任何信息
 ?
 -W, --wait               在传输第一个字节之前不显示任何内容
 -D, --delay-start SEC    在SEC秒过去之前不显示任何内容
 -s, --size SIZE          将估算的数据大小设置为SIZE字节
 -l, --line-mode          计算行数而不是字节数 
 -0, --null               行以零结尾
 -i, --interval SEC       每SEC秒更新一次
 -w, --width WIDTH        假设终端的宽度为WIDTH个字符 
 -H, --height HEIGHT      假设终端高度为HEIGHT行
 -N, --name NAME          在可视信息前面加上名称
 -f, --force              将标准错误输出到终端
 -c, --cursor             使用光标定位转义序列
 ?
 -L, --rate-limit RATE    将传输限制为每秒RATE字节
 -B, --buffer-size BYTES  使用BYTES的缓冲区大小
 -C, --no-splice          从不使用splice(),始终使用读/写
 -E, --skip-errors        跳过输入中的读取错误
 -S, --stop-at-size       传输--size字节后停止
 -R, --remote PID         更新过程PID的设置
 ?
 -P, --pidfile FILE       将进程ID保存在FILE中 
 ?
 -d, --watchfd PID[:FD]   监视进程PID,打开的文件FD
 ?
 -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 sudo dd of=/dev/disk2 bs=4m
 ## 显示下面进度
 source:  5.2GiB 5:11:41 [ 503KiB/s] [=====================>       ] 71% ETA 2:01:56

在linux上, 如果执行的一些命令或者一些脚本需要花费很长时间, 但又不能拿出更多的精力反复盯着有没有执行结束, 这时候可以用pv监听PID, 任务完成后通过网络通知到微信或者钉钉, 这样就可以腾出来精力做其他的事, 是不是很棒

 $ pv -d $(ps -ef | grep -v grep | grep "" | awk '{print $2}') && 

注意

  1. 选项”-d, –watchfd PID[:FD]”, 是在1.6.6版本中才有的参数,如果使用需要pv升级到大于等于1.6.6的版本

  2. CentOS7的Yum仓库里pv最新的是1.4.6版本,1.6.6版本是发布在CentOS8里面的,如果需要,可以将CentOS8里的pv下载到本地电脑上或者本地的Yum私服里, 这个是下载地址, 可以根据自己不同的架构下载, 1.6.6的安装: rpm -ivh pv-1.6.6-7.el8.x86_64.rpm -U

总结

至此关于Linux常用命令pv命令的使用方法分享结束,大家如果对pv命令的使用方法还有问题可以通过评论区将问题提交我们。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

137e00002230ad9f26e78-265x300

本文来源:www.lxlinux.net/3039.html,若引用不当,请联系修改。

赞(0)
文章名称:《Linux常用命令—pv命令》
文章链接:https://www.fzvps.com/181609.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!