首頁 > 軟體

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

2020-06-16 17:48:25

如何在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 -exec rm {} ;

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

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

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-12/126519.htm


IT145.com E-mail:sddin#qq.com