如何删除名称以" - "?开头的文件

时间:2015-12-11 09:54:42

标签: linux bash shell unix rm

我创建了一个名为" --address=16.187.249.27"的文件。偶然,并尝试按照方法删除它,但没有成功:

$ rm "--address=16.187.249.27"
rm: unrecognized option '--address=16.187.249.27'
Try 'rm ./'--address=16.187.249.27'' to remove the file ‘--address=16.187.249.27’.
Try 'rm --help' for more information.

$ rm "\--address=16.187.249.27"
rm: cannot remove ‘\\--address=16.187.249.27’: No such file or directory

如何删除名称以" - "?

开头的文件

3 个答案:

答案 0 :(得分:2)

在命令行中添加--的单个实例意味着之后的所有内容都是文件名而不是标志参数。所以这应该这样做:

rm -- --address=16.187.249.27

答案 1 :(得分:2)

来自手册页

  

请注意        rm命令使用getopt(3)来解析其参数,这允许它接受--选项,这将导致它停止   此时处理标志选项。这将允许删除   以短划线开头的文件名(` - ')。

 For example:
       rm -- -filename
     

使用绝对或相对路径引用可以获得相同的行为。

 For example:
       rm /home/user/-filename
       rm ./-filename

所以你可以通过运行

来删除
rm -- --address=16.187.249.27

答案 2 :(得分:1)

有多个选项可以删除这样的文件:

rm ./--address\=16.187.249.27
rm "./--address=16.187.249.27"
rm './--address=16.187.249.27'
rm -- --address=16.187.249.27
find -maxdepth 1 -name "--address=16.187.249.27" -delete