tar -xvzf [文件名] 创建一个额外的目录

tar -xvzf [文件名] 创建一个额外的目录

/var/www/orbitcode/public_html/orbit.tar.gz当我使用tar -xvzf orbit.tar.gzpub_html创建的目录解压缩它时,其中有一个 tar 文件。

解压后文件的路径是/var/www/orbitcode/public_html/public_html/[extracted files]

解压后的文件不应该在orbit目录中吗?为什么要创建一个新public_html目录?

我正在使用 ubuntu 14.04。

答案1

发生这种情况大概是因为您对整个public_html目录进行了 tar 处理,并且其名称在存档中。

您可以使用--strip-components参数在提取时切断路径的头部。

就你的情况而言:

tar -xvzf --strip-components 1 orbit.tar.gz

删除public_html/并将文件直接提取到当前目录中。

1上述命令中的 代表提取路径中的单个级别。

答案2

当你创建时/var/www/orbitcode/public_html/orbit.tar.gz你错过了告诉你的消息

tar: Removing leading `/' from member names

用于tar tf /var/www/orbitcode/public_html/orbit.tar.gz列出成员姓名。

为了纠正当前的情况(用来sudo品尝),

cd /var/www/orbitcode/public_html
# Assume extracted files must replace current dir files
mv -v -f --target-directory=$PWD public_html/* public_html/.*
# rmdir FAILS on non-empty directories
rmdir public_html

相关内容