我有一个如下的目录设置:
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
或者,创建一个新目录,将文件解压到该目录,然后从父目录重新解压,以将其名称包含在解压的版本中。这样,您就不必记住一些超长的调用。