Tar存档不会解压缩-“路径包含'..'”


8

文件名2014-12-12 04-00-01.tar。我执行了命令:

tar xvf 2014-12-12\ 04-00-01.tar

输出是以下形式的许多行:

x ../server/: Path contains '..'

然后是以下几种形式:

tar: copyfile unpack (../server/logs/.DS_Store) failed: No such file or directory

编写备份脚本时,我似乎不太谨慎。如何解压缩文件?

Answers:


11

您需要将P(或-P)标志添加到命令行中。从联机帮助页:

-P 保留路径名。 默认情况下,绝对路径名(以/字符开头的绝对路径名在创建存档和从中提取时都删除了前导斜杠。此外,tar将拒绝提取其路径名包含..或目标目录将被a更改的存档条目。 symlink:此选项禁止这些行为。

尝试tar Pxvf 2014-12-12\ 04-00-01.tar。请注意,您将需要对调用该命令的工作目录的父目录具有写权限。


做到了!
汤姆·史密斯

0

您可以尝试:
mkdir ./dir
tar xvf 2014-12-12\ 04-00-01.tar -C --./dir


tar: could not chdir to '--./dir'
汤姆·史密斯

奇怪。试试吧tar xvf 2014-12-12\ 04-00-01.tar -C --dir
LDC3 2014年

什么是双破折号?
Xen2050 2014年

它在man文件中,我认为它表明该字母是命令的一部分,因为您可以拥有tar xv -C --dir -f --2014-12-12\ 04-00-01.tar
LDC3 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.