2016年11月12日 星期六

CentOS 用 inode number 刪除亂碼檔案 , 目錄

這兩天在其中一台伺服器上看到一個不知道從哪來的亂碼檔案,大概不曉得是哪一個開發者上傳的目錄出現錯誤

 
$ 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 {} \;

 

 

Orignal From: CentOS 用 inode number 刪除亂碼檔案 , 目錄

沒有留言:

張貼留言