tar 命令以提取名称中带有冒号的存档

Dzu*_*ung 7 regex tar

我尝试tar -zxvf plugin\:xyz.tgz并收到错误:

rsh: Could not resolve hostname plugin: Name or service not known
tar: plugin\:thold-latest.tgz: Cannot open: Input/output error
tar: Error is not recoverable: exiting now
Run Code Online (Sandbox Code Playgroud)

有人能帮我吗?

小智 28

尝试--force-local选项:

tar -zxvf plugin:xyz.tgz --force-local
Run Code Online (Sandbox Code Playgroud)

从信息页面

如果您需要使用名称包含冒号的文件,则可以使用“--force-local”选项来禁止远程磁带驱动器的行为。


And*_*tin 6

@csg 的答案是正确的。

然而,另一种选择是指定存档的路径而不是文件名。这可以是绝对路径,也可以更简单地是相对于当前目录的路径:

tar -zxvf ./plugin:xyz.tgz
Run Code Online (Sandbox Code Playgroud)

这将强制 tar 将名称解释为本地文件。


Xen*_*ive 1

您可以执行以下操作:

mv plugin\:xyz.tgz plugin-xyz.tgz
tar xvfp plugin-xyz.tgz
Run Code Online (Sandbox Code Playgroud)

存档本身的名称实际上并不那么重要,无论存档名称如何,文件都会提取到相同的位置。