由于編碼原因,在linux服務器上上傳、創建中文文件或目錄時,會産生亂碼,如果想删除它,用rm命令是删除不了的,這種情況下,用find命令可以删除亂碼的文件或目錄。
在linux文件系統中,每個文件都有一個i節點号,可以通過i節點号來管理文件。首先進入亂碼文件或目錄所在的目錄
使用ls -i命令找到文件或目錄的inode,
文件或目錄前面的數字字符串就是inode,接下來使用find命令查詢并且删除此文件或目錄。
注意:此方法隻适用于删除文件或空的文件夾。
非空文件夾怎麼删除呢?
首先也是先查inode,然後用如下命令即可:
find -inum 2236429 -exec rm -rf {} \;
會提示找不到此文件或文件夾,但其實已經删除了。
如何在Linux下删除文件名是亂碼或者帶有特殊字符的文件。
今天遇到一個問題,一個文件名是“-MXV9.log”,直接用rm删除的時候就報錯
開始想着帶引号删,發現帶引号删除也一樣報illegal option的錯
找了一些資料,發現這種文件可以這樣删除
先ls -i 查到文件的inode,然後用find命令删除
[localhost]ls -ilrt 100985 -rw-r--r-- 1 tbcs users 0 Apr 18 11:32 -MXV9.log
最前面一列的100985就是文件的inode,在主機上執行如下命令即可删除文件
[localhost]find ./ -inum 100985 -exec rm {} \;
這個方法适用于文件名為亂碼或者帶有特殊字符的文件删除
比如說文件名是“*.txt” 如果直接執行rm *.txt,會把文件夾中所有以.txt結尾的文件全部删除了。
後面小編會分享更多運維幹貨,感興趣的朋友走一波關注哩~
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!