实用技巧,用lsof命令监控tar文件解压进度,简单有效!
创作时间:
作者:
@小白创作中心
实用技巧,用lsof命令监控tar文件解压进度,简单有效!
引用
CSDN
1.
https://blog.csdn.net/sinat_28521487/article/details/139739587
在Linux系统中,
tar命令是一个非常常用的工具,用于创建和解压缩归档文件。尽管tar命令本身没有提供直接查看解压进度的功能,但我们可以借助lsof(List Open Files)命令来间接监控解压进度。本文将详细介绍如何使用lsof命令来查看tar包的解压进度。
工具介绍
lsof:List Open Files是一个强大的工具,用于列出系统中所有打开的文件及其相关信息。stat:命令用于显示文件或文件系统的状态信息,包括大小、权限、修改时间等。
获取当前解压的偏移量
tar包已经在解压中如何知道解压进度?
lsof这个命令可以做到,这个命令的字面的意思,是列出打开的文件。
root@ubuntu:~# lsof -o0 -oFo test.tar.xz
p1113
o0t771962880
o:设置偏移量重0开始oFo:格式化输出为易于解析的形式
关注结果的最后一列,其中字母o表示文件的偏移量,0表示偏移量从零开始,t表示偏移量类型为十进制。数值771962880表示文件已经被打开并处理的数据偏移量,单位为字节。
了解文件当前已被打开的大小后,只需将其除以文件的总大小,就可以计算出解压的进度。
获取文件总大小
那么如何知道当前文件的总大小呢?
可以使用stat命令打印文件的总大小,并可以字节为单位显示。
root@ubuntu:~# stat -c %s test.tar.xz
4194314240
计算解压进度
现在我们可以构造以下的命令进行显示当前解压进度:
lsof -o0 -oFo test.tar.xz \
| awk -Ft -vS=$(stat -c %s test.tar.xz) \
'/^o/{printf( "%d%%\n", 100*$2/S)}'
-vS:定义一个变量S并赋值为当时解压文件总大小
使用dd命令构造一个大文件,用于测试,具体命令如下:
dd if=/dev/urandom of=test bs=4M count=1000 #构造一个4G的大文件
tar -cvf test.tar.xz test # 把当前目录下的test文件压缩成test.tar.xz
打开一个终端,解压当前目录下的test.tar.xz文件,如下图:
tar -xvf test.tar.xz
打开另外一个终端,执行如下命令查看当前解压的进度:
封装命令
为了简化操作,我们可以将这些步骤集成到一个脚本中。保存以下脚本为ptar.sh,具体的内容如下:
使用别名的方式,创建一个别名,方便后续对改脚本的调用。编辑~/.bashrc,添加以下行:
alias ptar='~/ptar.sh'
重新加载配置文件:
source ~/.bashrc
使用别名运行脚本:
ptar test.tar.xz
运行结果如下:
总结
虽然tar命令本身不提供直接的解压进度显示,但我们可以巧妙地使用lsof命令监控tar进程打开的文件,从而间接判断解压进度。这种方法特别适用于处理大型tar包或包含大量文件的归档文件,在系统运维和日常管理中非常实用。通过掌握lsof命令的使用技巧,可以大大提高我们的工作效率和系统监控能力。
热门推荐
喝红酒有益身心健康?这一说法是否正确,如何喝才更利身体
杭州临平安隐寺遗址公园:千年古刹变身城市文化绿洲
11月多家基金公司收紧QDII申购,单日限额低至百元
闪付免密支付:便捷与安全如何兼得?
“南鲲”号:世界首台兆瓦级漂浮式波浪能发电装置
张家界旅游攻略:玻璃栈道、溶洞奇观等5大景点详解
窝沟封闭,守护宝宝牙齿健康的金钥匙
《神农本草经》推荐:杜仲的药用价值
嘴起干皮吃什么水果
艾灸疗法:科学解读传统养生法,五种途径助排毒强身
2024夏至北京现最长白昼,天文背后蕴藏文化深意
名中医袁希福:这五味中药可有效预防胃癌
长春新开3条快速公交,多条线路优化调整提升出行效率
《下水道的美人鱼》:一部被禁的恐怖经典
泰勒丝的音乐传奇:从《提姆麦格罗》到新时代的音乐女王
甲硝唑治疗阿米巴病等热带病效果显著,合理用药避免耐药性
胎儿颅内出血:从原因到预防治疗全解析
梦境与睡眠质量的关系:如何获得一夜好眠?
重庆地铁最新线路图出炉,运营时间票价全解析
任天堂否认授权Genki展示Switch 2模型,或涉黑市交易
给写逆境中的你,10首励志古诗词,字字珠玑,胜过千篇心灵鸡汤
Android开发:勿扰模式的最佳实践指南
磷酸二氢钾如何搭配施用,提高作物产量和品质?
新手机怎么充电对电池好?注意这5点,有助于延长电池的使用寿命
雷达工程师的厨房革命:微波炉如何从实验室走向家庭
2024 CASH | 新技术、新靶点、新方案:开启儿童血液病发展新篇章
卡尼曼双系统理论:提升理性思维的科学指南
高考数学解题思维:掌握核心,提升能力
营养配餐员证书:推动健康饮食,成就营养行业的新高度!
万有引力定律助力精准测量,揭开月球质量之谜