我创建了一个名为" --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
如何删除名称以" - "?
开头的文件答案 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