這兩天在其中一台伺服器上看到一個不知道從哪來的亂碼檔案,大概不曉得是哪一個開發者上傳的目錄出現錯誤
$ ls -l drwxr-xr-x 2 root root 4096 Mar 19 2016 -?ʦ??-? drwxr-xr-x 2 root root 4096 Mar 19 2016 ??-? drwxr-xr-x 31 root root 4096 Mar 19 2016 admin drwxr-xr-x 29 root root 4096 Mar 19 2016 ??+? admin
如果直接用 rm 刪除會出現這樣的錯誤
$ rm -?ʦ??-? rm: 不適用的選項 -- ? Try `rm ./-?ʦ??-?/' to remove the file ‘-\260ʦ\242\313-\253/’. # or use "\" $ rm \-\?\ʦ\?\?\-\? rm: 不適用的選項 -- ? Try `rm ./-?ʦ??-?' to remove the file ‘-\260ʦ\242\313-\253’.
用 inode number 來刪除指定檔案
先用 ls -i 查詢 inode number
$ ls -i 2500089 -?ʦ??-? 2890693 ??-? 2490549 admin 524684 ??+? admin
用 find 刪除檔案或目錄
# delete file $ find -inum 2890693 -delete # delete directly $ find -inum 2890693 -exec rm -rf {} \;