我有一个.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 /
使用GNU
tar,您可以应用文件名转换它也可用于更改输出文件路径和名称。