如何将单个tar.gz压缩包内容同时解压到多个目标目录?
操作方法
方法1:Shell循环批量解压(推荐,目录数量较多时使用)
不用反复执行重复命令,一行循环即可完成所有目录的解压操作:
- 执行如下命令,把示例中的
folder1 folder2 folder3替换为你实际需要的目标目录名即可
for dir in folder1 folder2 folder3; do mkdir -p "$dir" tar -xzvf latest.tar.gz -C "$dir" done
- 命令说明:
mkdir -p "$dir"会自动创建不存在的目标目录,已存在的目录不会触发报错-C是tar命令的指定输出路径参数,必须添加才能把内容解压到对应目标目录,不会默认落到当前工作目录
方法2:手动逐个解压(适合目录数量少的场景)
如果只有2-3个目标目录,不想写循环也可以分开执行命令:
- 解压到folder1:
mkdir -p folder1 && tar -xzvf latest.tar.gz -C folder1
- 解压到folder2:
mkdir -p folder2 && tar -xzvf latest.tar.gz -C folder2
- 解压到folder3:
mkdir -p folder3 && tar -xzvf latest.tar.gz -C folder3
注意:tar命令默认不会清空目标目录原有内容,解压后的文件会和原有文件共存。如果你需要目标目录仅保留压缩包内的内容,可以在解压前手动清空对应目录。
内容的提问来源于stack exchange,提问作者cabal
相关产品推荐
相关产品推荐

