Linux中刪除特殊符號文件名文件

Linux 系統下的文件名長度最多可到256個字符。一般狀況下,文件名的字符包括:字母、數字、「.」(點)、「_」(下劃線)和「-」(連字符)。


Linux 容許在文件名中使用除上述符號以外的其它符號, 但並不建議用戶這樣作。 有些轉意字符 (即該字符被系統借用,表示某種特殊含義) 在 Linux 的 命令解釋器(shell)中有特殊的含義。這樣的轉意字符有:「?」(問號),「*」(星號), 「 」(空格), 「$」(貨幣符), 「&」, 擴號等等。在文件名中應儘可能避免使用這些字符。文件名中能夠有" "(空格),但建議用戶用「_」(下劃線)來替代。「/」 既可表明目錄樹的根也可做爲路徑名中的分隔符(相似DOS下的「\」),所以「/「不能出如今文件名中。和 DOS 同樣,「.」 和 「..」分別用來表示「當前目錄」和「父目錄」, 所以它們也不能做爲文件名。






1. 文件名含有特殊字符,直接使用 rm 可能刪除不了,能夠使用以下方法:
1) 使用 ls -i 查處該文件的 inode 號,假設爲654321
2) 使用find命令刪除 
find ./ -inum 654321 -exec rm '{}' \; 




2. 若是文件名是以 - 連字符開頭的,能夠使用以下方法來刪除,如刪除 "-filename" 文件:
rm -- -filename  
rm ./-filename  node

相關文章
相關標籤/搜索