将 .tar.gz 中的多个文件解压到多个不同的目录

将 .tar.gz 中的多个文件解压到多个不同的目录

我有一个.tar.gz文件,其中包含多个目录中的文件备份。

是否可以解压单个.tar.gz文件并将这些文件移动到其预期目录?

如果我运行 tar,-ztvf filename.tar.gz我会看到带有完整目录的所有文件。也就是说/etc/path/file/usr/path.file为许多(超过 1,000 个)文件返回 , ... 等。因此,如果有帮助的话,会使用保留的文件路径创建存档。

我知道这tar –xvzf filename.tar.gz –C /path/to/directory将允许我移动特定文件。但这可以通过将多个文件发送到多个不同位置来完成吗?

答案1

您可以根据需要多次更改目录:

tar –xvzf filename.tar.gz –C /path/to/directory filepath1 -C ../../../path/to/otherdirectory filepath2

每次连续更改-C都会更改后续所有内容的当前目录,因此必须相对于前一个目录指定目录。由于您的存档保留了路径,因此您需要指定要提取的每个文件的完整路径。

tar将文件解压到存档中存储的路径;因此,如果您希望所有文件都转到它们存储在存档中的路径,而不需要预先添加任何内容,请运行

tar -xzvf filename.tar.gz -C /

使用GNUtar,您可以应用文件名转换它也可用于更改输出文件路径和名称。

相关内容