答案1
我认为应该这样做:
tar -xzf file.tar.gz -C ~/locationX folder1 -C ~/locationY folder2
该-C
选项表示在提取之前更改到指定目录。在 tar 文件名后指定文件名参数会将提取限制为仅那些文件或目录。您可以-C
像以前一样重复这个悬挂目录。
请注意,这将在子目录中进行提取:folder1
将进入~/locationX/folder1
、folder2
将进入~/locationY/folder2
。您可以使用以下--strip-components
选项来防止这种情况:
tar -xzf file.tar.gz -C ~/locationX --strip-components=1 folder1 \
-C ~/locationY --strip-components=1 folder2
此外,如果 tar 文件中的实际前缀是./folder1
和./folder2
,就像您使用 创建 tar 文件一样tar -czf file.tar.gz .
,则需要./
在文件名参数中包含该前缀,然后更改为--strip-components=2
。