2014-02-26 50 views
4

在腳本中我結束了他的名字用破折號開頭的文件弄錯後「 - 」如何刪除其名稱以開頭的文件「 - 」

-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 

你有什麼想法嗎?

感謝

+6

__FAQ__:'RM - filename' – devnull

+1

可能重複[這裏](https://stackoverflow.com/questions/13917714/rm-cannot-delete-files-starting-with)和[這裏](HTTPS://計算器.com/questions/706196/how-to-remove-files-starting-with-double-hyphen) – ajp15243

+0

thanks @ ajp15243。搜索 – jrjc

回答

10

感謝@ ajp15243: 答案是:

rm ./-myfile.txt 

rm -- -myfile.txt 
+0

時我沒有找到它我認爲devnull也值得一些功勞 - - '回答:)。如果這是解決問題的方法,那麼我們鼓勵您接受您對自己問題的回答。它將標誌着問題解決了下一個通過SO尋找答案的人。 – ajp15243

+0

當然,但我真的明白他的意思多虧了你的帖子! (我可以在兩天內接受我的答案!) – jrjc

1

你總是可以嘗試inode的解決方案:

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

2116530是文件的inode。然後你可以使用發現將其刪除

find ./ -inum 2116530 --delete 

甚至

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

使用絕對路徑

像RM /home/name/-myfile.txt

0

試試這個 將您的文件名放入「 - 」 例如: rm「-myfile.txt」

相關問題