Linux下刪除檔名是亂碼或者帶有特殊字元的檔案

2021-08-18 15:10:52 字數 827 閱讀 4128

**:

如何在linux下刪除檔名是亂碼或者帶有特殊字元的檔案。

今天遇到乙個問題,乙個檔名是「-mxv9.log」,直接用rm刪除的時候就報錯

[localhost]rm -mxv9.log

rm: illegal option -- m

rm: illegal option -- x

rm: illegal option -- v

rm: illegal option -- 9

rm: illegal option -- .

rm: illegal option -- l

rm: illegal option -- o

rm: illegal option -- g

usage: rm [-rfir] file ...

開始想著帶引號刪,發現帶引號刪除也一樣報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 -delete

這個方法適用於檔名為亂碼或者帶有特殊字元的檔案刪除

比如說檔名是「*.txt」 如果直接執行rm *.txt,會把資料夾中所有以.txt結尾的檔案全部刪除了

linux下刪除檔名亂碼檔案

linux下通過rm命令來刪除檔案,但是如果要刪除檔名亂碼的檔案,就不能直接使用rm命令了,因為壓根就無法輸出檔名來。不過借助find命令可以實現對其刪除。在linux下對於每個檔案都乙個對應的不變的inode號,使用 ls li 可以檢視到檔案的inode號,同時find可以根據inode號來查詢...

檔名亂碼

1 檔名 中文 儲存到hbase,然後取出,亂碼 原因 存入hbase時,進行了一次utf 8轉碼 string轉byte 取出時,byte轉string沒有指定編碼,導致亂碼 分析 存入和取出後,結果亂碼,分析下中間是否有轉碼,儲存系統是不是有預設編碼 2 檔名在程式中,正常,通過new file...

linux下中文檔名亂碼解決

在windows上使用ftp上傳檔案到linux上,中文名稱在linux系統中顯示為亂碼。雖然將linux的env設定了lang en us.utf 8,並且本地的shell客戶端編碼也設定成utf 8,但在shell中 或通過http訪問 仍是亂碼 原因在於,windows 的檔名中文編碼預設為g...