将文件解压到特定目录中

将文件解压到特定目录中

运行该命令后,我最终得到该文件/home/user/Documents/home/user/Documents/

tar -xzvf /tmp/file.tar.gz -C /home/user/Documents/

答案1

发生这种情况是因为您在创建档案时使用了绝对路径,并且正如您在解压档案之前所做的那样-Cchdir(2)您将获得从您已编辑的位置开始的绝对路径chdir(2)

现在,如果您想使用,您有两个选择-C

  • 创建档案时使用相对路径,然后您可以-C像解压档案时那样使用:

    tar -xzvf /tmp/file.tar.gz -C /home/user/Documents/
    

    仔细选择目的地以确保它不会覆盖任何现有内容。

  • 将目录更改为/,并在存档时使用绝对路径,当然,chdir(2)在这种情况下要非常小心地选择路径,因为这可能会替换任何现有文件:

     tar -xzvf /tmp/file.tar.gz -C /
    

    根据您的示例,这会将文件放入/home/user/Documents/

相关内容