Bash 如何删除名称以';开头的文件-';

Bash 如何删除名称以';开头的文件-';,bash,shell,unix,rm,Bash,Shell,Unix,Rm,脚本出错后,我得到了一个文件,文件名以破折号开头,-: -myfile.txt 到目前为止,我试过: rm -myfile.txt rm: illegal option -- m usage: rm [-f | -i] [-dPRrvW] file ... unlink file rm "-myfile.txt" rm: illegal option -- m usage: rm [-f | -i] [-dPRrvW] file ... unlink file

脚本出错后,我得到了一个文件,文件名以破折号开头,
-

-myfile.txt
到目前为止,我试过:

rm -myfile.txt
rm: illegal option -- m
usage: rm [-f | -i] [-dPRrvW] file ...
       unlink file

rm "-myfile.txt"
rm: illegal option -- m
usage: rm [-f | -i] [-dPRrvW] file ...
       unlink file

rm "\-myfile.txt"
rm: \-myfile.txt: No such file or directory

rm \-myfile.txt
rm: illegal option -- m
usage: rm [-f | -i] [-dPRrvW] file ...
       unlink file

rm "-"myfile.txt
rm: illegal option -- m
usage: rm [-f | -i] [-dPRrvW] file ...
       unlink file
如何删除此文件?

感谢@ajp15243: 答案是:

rm ./-myfile.txt


您始终可以尝试inode解决方案:

$ ls -al -i | grep me
2116530 -rw-rw-r--  1 user123 user123       0 Feb 27 12:39 me
2116530
是文件的索引节点。然后可以使用“查找”来删除它

find ./ -inum 2116530 --delete
甚至

find ./ -inum 2116530 -exec rm {\} \;

使用绝对路径名

比如rm/home/name/-myfile.txt,试试这个 请将您的文件名填入“-” 如:
rm“-myfile.txt”

FAQ:
rm--filename
可能重复,谢谢@ajp15243。我在搜索时没有找到它,我认为devnull应该为
--
的答案赢得一些信任:)。我们鼓励你接受自己问题的答案,如果这是解决问题的方法。它会为下一个通过SO搜索答案的人标记这个问题为已解决。当然,但多亏了你的帖子,我才真正理解了他的意思!(我可以在两天内接受我的回答!)
find ./ -inum 2116530 -exec rm {\} \;