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

时间:2014-02-26 17:01:59

标签: 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

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

如何删除此文件?

4 个答案:

答案 0 :(得分:12)

感谢@ ajp15243: 答案是:

rm ./-myfile.txt

rm -- -myfile.txt

答案 1 :(得分:2)

使用绝对路径名

与rm /home/name/-myfile.txt

类似

答案 2 :(得分:1)

你总是可以尝试使用inode解决方案:

$ ls -al -i | grep me
2116530 -rw-rw-r--  1 user123 user123       0 Feb 27 12:39 me

2116530是文件的inode。然后你可以使用find删除它

find ./ -inum 2116530 --delete

甚至

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

答案 3 :(得分:0)

试试这个 把你的文件名放在“ - ” 例如: rm“-myfile.txt”