如何在 Unix 中创建名称中带有“#”字符的文件?

如何在 Unix 中创建名称中带有“#”字符的文件?

我已经尝试了很多命令来创建文件和删除带有字符的文件#,但都没有用。有人能告诉我创建然后删除以 开头的文件的命令#吗?

答案1

创建/删除带有“奇怪字符”的文件的两种标准方法是

  1. 引用,就像 alex 展示的那样。您可以根据扩展需求使用单引号或双引号。可以使用反斜杠来转义单个奇怪的字符。只要文件名看起来不像选项(以破折号开头),这种方法就有效。
  2. 如果文件看起来像一个选项,添加路径rm ./- "./-rf ."

现代版本的 Unix 实用程序通常支持双划线表示选项结束。在这样的系统上,rm -- -删除名为 的文件-

请注意,您无法创建或删除名称中带有斜线或 ASCII NUL 的文件。如果您有这样的文件(我见过),则说明您的文件系统出了严重问题。

在您使用哈希的特殊情况下#,问题源于 shell 将以 开头的单词解释为#shell 注释一个好的 shell 可以让你禁用这个 shell 功能,称为互动评论

  • zsh:unsetopt interactivecomments
  • 重击:shopt -u interactive_comments

有了这些,您就可以轻松touch #; rm #无忧。

答案2

为了让……

touch "#file"

删除...

rm "#file"

相关内容