tar -xvf
我正在尝试使用格式(其中 * 是任何单词字符)*@*@*@*.tar.gz 来提取 tarball ,但我认为 tar 正在尝试在远程位置查找该文件。我得到的错误是针对命令的tar -xzvf tasf423@2012-02-22\@00:03:04\@ja41nf.tar.gz
:
tar (child): Cannot connect to 2012-02-22@00: resolve failed
我尝试使用反斜杠来转义它,甚至尝试用 %40 替换 @ 符号,但这些似乎都不起作用。有没有办法使用名称中带有 @ 的 tar 命令来提取 tarball?
另一个例子:
也许这个例子能更好地说明问题:
# tar czvf 2022-02-10-00\:04.tar.gz 2022-02-10-00\:04
2022-02-10-00:04/
2022-02-10-00:04/dmesg.txt
tar (child): Cannot connect to 2022-02-10-00: resolve failed
2022-02-10-00:04/vmcore
tar: 2022-02-10-00:04.tar.gz: Wrote only 2048 of 10240 bytes
tar: Child returned status 128
tar: Error is not recoverable: exiting now
注意:冒号( :
) 不必转义; Bash 的文件名补全代码就做到了这一点。在 UNIX 中:
不被视为“邪恶”字符(与 Windows 中不同)。
答案1
问题是冒号,而不是 at 符号。使用--force-local
。