【tar】【批量解压】【元数据】【批量恢复】批量解压 tar 包的命令改成带进度条、能看到实时速度的版本,解决 “像卡死、看不到进度
SRC="/media/ubunto/LEROM1S/yuanshuju-btrfs-bakok";DST="/media/ubunto/SHARE2";sudo mkdir -p "$DST";for t in "$SRC"/*.tar;do sudo tar -xf "$t" -C "$DST" --overwrite;done 】=====
看不到进度条像卡了一样
我帮你把这段批量解压 tar 包的命令改成带进度条、能看到实时速度的版本,解决 “像卡死、看不到进度” 的问题,直接复制运行即可。
优化后命令(带进度条 + 覆盖解压)
====【SRC="/media/ubunto/LEROM1S/yuanshuju-btrfs-bakok";DST="/media/ubunto/SHARE2";sudo mkdir -p "$DST";for t in "$SRC"/*.tar;do echo "=== 解压:$t ===";sudo pv "$t" | sudo tar -xf - -C "$DST" --overwrite;done 】================
SRC="/media/ubunto/LEROM1S/yuanshuju-btrfs-bakok";DST="/media/ubunto/SHARE2";sudo mkdir -p "$DST";for t in "$SRC"/*.tar;do echo "正在解压:$t";sudo tar -xf "$t" -C "$DST" --overwrite -v;done
更强版本:显示总进度 + 速度(推荐)
需要先装一个小工具(非常轻量):
====【】========================
sudo apt update && sudo apt install -y pv
然后运行这条真正带进度条、速度、剩余时间的命令:
====【SRC="/media/ubunto/LEROM1S/yuanshuju-btrfs-bakok";DST="/media/ubunto/SHARE2";sudo mkdir -p "$DST";for t in "$SRC"/*.tar;do echo "=== 解压:$t ===";sudo pv "$t" | sudo tar -xf - -C "$DST" --overwrite;done 】===============
SRC="/media/ubunto/LEROM1S/yuanshuju-btrfs-bakok";DST="/media/ubunto/SHARE2";sudo mkdir -p "$DST";for t in "$SRC"/*.tar;do echo "=== 解压:$t ===";sudo pv "$t" | sudo tar -xf - -C "$DST" --overwrite;done
效果
- 绿色进度条
- 已解压大小 / 总大小
- 解压速度 MB/s
- 预计剩余时间
- 每个文件解压完自动跳下一个
为什么原来的命令像卡死?
- tar默认静默运行,没有任何输出
- 大文件解压时,终端一片空白,误以为卡死
- 加上-v或者用pv就能实时看到进度
总结
- 直接用第一段命令:最简单,立刻看到解压文件列表
- 想用漂亮进度条:先装pv,再用第二段命令
- 两条命令都保留了你原来的覆盖、目录、路径逻辑,安全不变