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 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM