tar显示压缩进度条

本文介绍了如何在Linux环境下使用pv命令来显示文件传输或处理的进度条,特别是在处理大文件时,该工具能提供实时的进度和速率信息。pv可以插入到命令管道中,用于监控数据传输,并在tar、gzip等操作中提供可视化的进度反馈。例如,它可以在压缩或解压缩文件时展示进度,或者在使用nc进行文件传输时显示速度。通过这种方式,用户可以更好地估计任务的完成时间。
摘要由CSDN通过智能技术生成
进度条

tar处理小文件时,非常快,不需要看进度。

但当文件比较大时,耗时较长,这时需要个进度条看一下,以评估剩余时间。

Linux下,可以使用pv来显示进度。

pv

pv用来监视数据通过pipe的进度,能够显示耗时、完成率(进度条)、当前吞吐率、总传输字节等信息。

使用方式:在两个程序之间,以合适的参数插入pipeline。

pv将会把提供的文件拷贝到标准输出,如果没有指定文件,将拷贝标准输入,这时它的行为和cat一致。

如,查看使用nc传输一个文件的速度:

pv file | nc -w 1 somewhere.com 3000

同样的目的,也可以这样写:

cat file | pv -s 12345 | nc -w 1 somewhere.com 3000

这种方式提供了两个不同的命令:cat和nc,而pv在中间,-s指定了文件的大小,单位是字节。

查看man page了解更多信息。

在tar时使用pv

压缩文件时,在tar和gzip中间使用pv,把待压缩的文件的大小传递给pv:

tar -cf - a.csv | pv -s $(du -sb a.csv | awk '{print $1}') | gzip > a.tgz

其中,横线表示把tar的结果传送到标准输出,以作为gzip的输入。

解压缩:

pv question.tar.gz | tar -zxf -

直接把文件传递给pv,pv把文件读取到stdout,作为tar的输入。

小节

这时只是利用了pv命令实现了速率展示。

当然也可以结合其他命令,让pv实现更多有意思的功能。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值