1. 查詢inode :
代碼如下
[oracle@test]$ ll -i
total 14694452
17956913 -rw-r–r– 1 oracle oinstall 0 Jan 18 20:24 1?.txt
2. 修改測(cè)試文件名:
代碼如下
find . -inum 17956913 -exec mv {} file.txt ;
3. 刪除亂碼文件
代碼如下
[oracle@test]$ ll -i
total 14694452
….
-rw-r–r– 1 oracle oinstall 0 Jan 18 20:24 file.txt
記錄:刪除亂碼的文件可使用 find . -inum 17956913 -exec rm {} ;
文件夾
對(duì)于文件夾,尤其是非空的文件夾,上面的方法就不適用了,要用到另外的參數(shù)來(lái)實(shí)現(xiàn),首先相同的是查看亂碼文件夾的節(jié)點(diǎn)號(hào)
代碼如下
ls -i
18612483 瑗塊.?.. - Thank you, Love(128kbps) 2011.06.22
接下來(lái)使用find命令刪除
代碼如下
find -inum 18612483 -exec rm -rf {} ;
find: ./瑗塊.?.. - Thank you, Love(128kbps) 2011.06.22: No such file or directory
雖然提示我們找不到此文件或文件夾,但其實(shí)已經(jīng)表明刪除了。-exec作用是查找后執(zhí)行命令,其中{}代表前面查詢到的結(jié)果,空格+;是結(jié)束符,其它就不說(shuō)了。-exec后可以跟任何常用命令,因此這方法不但適用于文件夾,文件也可以。
小技巧
怎么批量刪除呢?其實(shí)很簡(jiǎn)單,用for就好了
代碼如下
文件
for n in 22413315 22413314;do find -inum $n -delete;done
文件夾
for n in 22413315 22413314;do find -inum $n -exec rm -rf {} ;;done
$n是變量名,與for后面定義的一致,其它沒(méi)啥好說(shuō)的,適用其它操作。