![不使用顶级目录解压](https://linux22.com/image/28860/%E4%B8%8D%E4%BD%BF%E7%94%A8%E9%A1%B6%E7%BA%A7%E7%9B%AE%E5%BD%95%E8%A7%A3%E5%8E%8B.png)
我有一个 tar (websites.tgz),其中包含一堆以“htdocs”开头的 Drupal 网站
我需要将它们解压到
/local/htdocs/web1
/local/htdocs/web2
等等。但由于权限问题,我无法将websites.tgz 文件放在/local 中并向下解压。它目前位于我的主目录中。如何解压 /local/htdocs 下的内容,而不包含顶级 htdocs 目录?
我试图避免:
/local/htdocs/htdocs/web1
/local/htdocs/htdocs/web2.
谢谢你的帮助。
答案1
您可以-C
在某些 tar 实现中使用该选项来指定提取的基本路径。以下内容适用于您的示例。
tar -xvz -C /local -f websites.tgz
或者,如果您tar
没有-z
或-C
选项:
gunzip < websites.tgz | (cd /local && tar xvf -)
答案2
您可能需要使用 GNU tar 的 --strip-components=NUMBER 选项:
--strip-components=NUMBER
strip NUMBER leading components from file names on extraction
你的命令是:
tar -xfz /path/to/websites.tgz --strip-components=1 -C /local/htdocs/