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