tar命令压缩解压缩带进度条的实现
需要用到pv命令,默认是已经安装的,如果没有安装参考以下命令
yum install pv #centos
apt install pv #ubuntu
brew install pv #mac
# 解压缩
pv ${filename} | tar -zxf -
# 压缩
tar -cf - "${filename}" | pv -s $(($(du -sk "${filename}" | awk '{print $1}') * 1024)) | gzip > ${filename}.tar.gz
# 还可以在tar命令后加上以下选项用逗号代替进度 --checkpoint=100 --checkpoint-action=dot --totals
另外,手动控制的进度显示可以使用dialog命令,如
for i in {1..100} ;do echo $i;done |dialog --title "installation pro" --gauge "installation" 10 30