将 tar 文件放入子目录中

将 tar 文件放入子目录中

我有一个如下的目录设置:

folder_x
file.y
file.z

我想创建一个 tar 文件,以便在提取时其结构看起来像这样:

dir_q/folder_x
dir_q/file.y
dir_q/file.z

我如何使用 来实现这个功能tar?作为参考,我当前使用的命令是:

tar -czf archive.tar.gz file.y file.z folder_x

答案1

我从未使用过 --transform 选项,但我知道它可以满足您的需要:

tar -czf archive.tar.gz --transform 's,^,dir_q/,' file.y file.z folder_x

意识到使用,而不是/作为分隔符,因此我们可以添加尾随斜杠。

答案2

如果您不介意创建新目录...

mkdir dir_q;tar -C $_ -xzvf archive.tar.gz

或者,创建一个新目录,将文件解压到该目录,然后从父目录重新解压,以将其名称包含在解压的版本中。这样,您就不必记住一些超长的调用。

相关内容