You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用tar命令打包目录,使解压后保留原目录?

打包目录并保留解压后的目录结构

我需要打包一个目录,确保解压后该目录本身仍存在——因为有一份无法修改的预编写安装脚本依赖这个目录结构,解压结果必须仅包含该目录。

问题场景:

我执行了以下打包命令:

tar -czvf filename.tar.gz directory 

查看tar文件内部,可见内容路径为:

./directory/file1
./directory/file2

但执行解压命令:

tar -xvf filename.tar.gz

后,并没有得到directory目录,仅生成了:

./file1
./file2

预期解压结果应该是直接生成directory目录,内部包含对应文件。

解决方案:

问题出在打包时的路径指定方式,你需要确保打包时保留目录的顶层结构,正确的做法是使用-C参数切换到目标目录的上级路径,再指定要打包的目录名:

假设你的目标目录directory位于当前工作目录下,执行以下命令打包:

tar -czvf filename.tar.gz -C ./ directory

或者,如果你当前在directory的上级目录中,直接执行:

tar -czvf filename.tar.gz directory

这样打包后的tar文件内部路径会是directory/file1、directory/file2,解压后就会直接生成完整的directory目录,符合安装脚本的依赖要求。

内容的提问来源于stack exchange,提问作者Jim_Brent

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 05:07:03