Linux刪除亂碼檔案

2021-09-01 08:37:41 字數 1353 閱讀 1238

亂碼這個詞往往大家都不喜歡,檔案的亂碼,可能是檔案的編碼檔案,同樣,linux伺服器下出現的檔名亂碼多數也是由於編碼

比如,最近常遇到一些ftp使用者,在把檔案傳到伺服器上時用的ftp上傳工具沒有設定編碼

由於該linux使用的是utf-8編碼,windows上的使用者在上傳的時候預設不是utf-8的,這個時候,如果遇到檔案中含有中文或是其他全形字符,有可能出現一大堆亂碼

結果就是,操作也操作不了

那麼這類檔案就不能動了嗎?我想刪除它怎麼辦呢?看看下面的操作你就知道了

如下的目錄中,有一檔名亂碼的檔案:

$ ls -l

total 84

drwxr-xr-x 2 root root  4096 may  9 11:25 bin

drwxr-xr-x 2 root root  4096 mar 30  2007 boot

drwxr-xr-x 10 root root 13160 may 30 02:17 dev

drwxr-xr-x 18 root root 4096 may  8 02:46 eaccelerator_cache

drwxr-xr-x 37 root root 4096 may 30 02:17 etc

drwxr-xr-x 6 root root  4096 may 23 17:10 home

...drwxr-xr-x 2 root root  4096 mar 30  2007 srv

drwxr-xr-x 11 root root    0 may 30 02:17 sys

drwxrwxrwt 5 root root  4096 jun 11 13:44 tmp

drwxr-xr-x 13 root root 4096 jul  9  2008 usr

drwxr-xr-x 17 root root 4096 jul  9  2008 var

drwxr-xr-x 5 root root  4096 may 23 22:56 wwwroot

-rw-r--r-- 1 root root     0 may 23 22:38 ?os???j?

上面的紅色檔案,我們無法用鍵盤輸入,所以也無法刪除

可以使用 索引節點(i節點) 進行刪除,使用ls命令的 -i 引數:

$ ls -li

51665 -rw-r--r-- 1 root root     0 may 23 22:38 ?os???j?

得到i節點為 51665

通過find命令刪除i節點為51665的檔案

$ find ./ -inum 51665 -print -exec rm {} -rf \;

./?os???j?

這樣就可以刪除了,是不是免了不少麻煩呢?

刪除linux亂碼檔案

linux刪除亂碼檔案 當檔名為亂碼的時候,無法通過鍵盤輸入檔名,所以在終端下就不能直接利用rm,mv等命令管理檔案了。但是我們知道每個檔案都有乙個i節點號,我們可以考慮通過i節點號來管理檔案。首先,我們要取得檔案的i節點號。這個可以通過ls命令的 i選項獲得得,也可以通過ll i 來獲得。第二步,...

Linux刪除亂碼檔案

原理 刪除亂碼檔案 當檔名為亂碼的時候,無法通過鍵盤輸入檔名,所以在終端下就不能直接利用rm,mv等命令管理檔案了。但是我們知道每個檔案都有乙個 i 節點號,我們可以考慮通過 i 節點號來管理檔案。舉例 首先,我們要取得檔案的 i 節點號。這個可以通過ls命令的 i 選項獲得得,也可以通過ll i ...

linux 刪除亂碼檔案

新建檔案或者儲存檔案時候,很容易輸入亂碼字元,導致最後生成的檔名中有各種奇怪符號。當檔名包含這些符號的時候,我們就無法通過鍵盤輸入檔名,所以在終端下就不能直接利用rm,mv等命令管理檔案了。但是我們知道每個檔案都有乙個i節點號,我們可以考慮通過i節點號來管理檔案。首先,我們要取得檔案的i節點號。通過...