在 shell 中处理类似选项的文件名

在 shell 中处理类似选项的文件名

可能的重复:
如何删除名称以“--”开头的文件?

由于当我尝试运行命令时开关不匹配,我有一个-w在目录中命名的日志文件。我想用cat(或less) 查看其内容,然后将其删除。

我尝试过用反斜杠、单引号、双引号、括号和反引号来转义它,但cat总是抱怨这w是一个未知的选项。

我怎样才能正确引用这个文件?

答案1

几乎所有命令都允许--作为选项参数和位置参数之间的分隔符。您可以使用以下内容:

cat -- -w
rm -f -- -w

答案2

用路径作为前缀。例如:

cat /home/whatever/-w
rm /home/whatever/-w

相关内容