是否可以创建一个类似于 的目标目录,mkdir -p
我可以在我的 tar 命令中定义一个不存在的目标目录,并且 tar 将为我创建该目录?
我知道我可以使用 将输出重定向到一个目录tar -C /target/dir
,但是如果目标目录不存在,这将不起作用。
小智 55
mkdir -p /target/dir && tar -C /target/dir
Run Code Online (Sandbox Code Playgroud)
小智 35
tar -xvf bash.html_node.tar.gz --one-top-level
Run Code Online (Sandbox Code Playgroud)
从 tar 命令的手册页
--one-top-level[=DIR]
将所有文件提取到DIR 中,或者,如果不带参数使用,则提取到以存档的基本名称命名的子目录中(减去可识别的标准压缩后缀
--auto-compress
)。
- - - 测试
tar zxvf ../aaa.tgz --one-top-level
aaa/
aaa/222
aaa/111
tree aaa
aaa/
??? 111
??? 222
Run Code Online (Sandbox Code Playgroud)
// 如果 tgz 名称与存档的 root_dir 相同,则没有其他影响
mv ../aaa.tgz ../bbb.tgz
tar zxvf ../bbb.tgz --one-top-level
aaa/
aaa/222
aaa/111
tree bbb
bbb
??? aaa
??? 111
??? 222
Run Code Online (Sandbox Code Playgroud)
// 如果 tgz 名称与存档的 root_dir 不同,则创建一个顶级目录
小智 6
这对我来说更有意义: mkdir -p /create/folder && tar -zxf haroopad-v0.13.0_x64.tar.gz -C /create/testfolder
mkdir
虽然我不太了解-p
开关,但制作文件夹。&&
让您执行第二个命令。我使用了典型的 tar 开关,但最后-C
用于更改目录并提取到所需的位置。
参考:extract-files-contained-in-archive-tar-gz-to-new-directory-named-archive