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 {\} \;