无法移动或删除名称中带有 \r 的文件

Mag*_*cho 1 bash rename

不知何故,我有一个名为“secret\r-.tar.gz”的 tar 文件。
请注意,它\r在名称中。

我尝试按照 SSH 命令进行移动,但它们都不起作用:

mv secret\r-.tar.gz ../
mv secret\\r-.tar.gz ../
mv secret\\r-.tar.gz ../
mv "secret\r-.tar.gz" ../
Run Code Online (Sandbox Code Playgroud)

所有结果都出现错误:

mv: 无法统计 `secret\r-.tar.gz': 没有那个文件或目录

你们能指出我正确的方向吗?

Chr*_*own 6

如果该文件字面上称为secret\r-.tar.gz,则mv "secret\r-.tar.gz" ../应该有效。

如果\r确实是回车,则需要有文字回车(而不是转义):

mv $'secret\r-.tar.gz' ..
Run Code Online (Sandbox Code Playgroud)

  • @manatwork,请注意上面的反斜杠不是必需的,因为 CR 字符不是 shell 所特有的。 (2认同)