tar 命令用于提取名称中带有冒号的档案

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

有人能帮我吗?

答案1

您可以执行以下操作:

mv plugin\:xyz.tgz plugin-xyz.tgz
tar xvfp plugin-xyz.tgz

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

答案2

尝试--force-local选项:

tar -zxvf plugin:xyz.tgz --force-local

来自信息页面

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

答案3

@csg 的回答非常正确。

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

tar -zxvf ./plugin:xyz.tgz

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

答案4

尝试 Bandit 建议的在文件名周围加上引号 tar zxvf "blah:23.tar.gz"

最后的手段是,在命令行或通过 SFTP/SCP 应用程序(如 WinSCP 或 FileZilla)重命名文件。您可以在本地机器上执行此操作并重新上传重命名的文件,或者只需使用 WinSCP/FileZilla 登录并右键单击远程端的文件并选择重命名。

相关内容