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

Tho*_*ith 10 tar osx-yosemite

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

tar xvf 2014-12-12\ 04-00-01.tar
Run Code Online (Sandbox Code Playgroud)

输出是以下形式的多行:

x ../server/: Path contains '..'
Run Code Online (Sandbox Code Playgroud)

然后是一些表格:

tar: copyfile unpack (../server/logs/.DS_Store) failed: No such file or directory
Run Code Online (Sandbox Code Playgroud)

看来我写备份脚本的时候不是很小心。我怎样才能解压文件?

zac*_*kse 14

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

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

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