當發現linux 裡有中文命名文件,亂碼文件想刪除時,請使用inode 刪除
[root@localhost tmp]# ls -l
total 1024
-r--r--r-- 1 root root 624541 May 3 09:33 mkisofs-2.01-10.7.el5.x86_64.rpm
srwxrwxrwx 1 mysql mysql 0 Jul 2 12:26 mysql.sock
--rw-r--r-- 1 root root 0 Jul 27 08:27 亂碼file
-rw-r--r-- 1 root root 0 Jul 27 08:26 嘎兒
我的系統裡有2個中文命名的文件,查找2個文件的inode
[root@localhost tmp]# ls -il
total 1024
917852 -r--r--r-- 1 root root 624541 May 3 09:33 mkisofs-2.01-10.7.el5.x86_64.rpm
919797 srwxrwxrwx 1 mysql mysql 0 Jul 2 12:26 mysql.sock
920533 -rw-r--r-- 1 root root 0 Jul 27 08:27 亂碼file
918587 -rw-r--r-- 1 root root 0 Jul 27 08:26 嘎兒
亂碼文件的 inode 為920533 我們就來先刪除它,用find 命令來找到這個inode 接著刪除
[root@localhost tmp]# find . -inum 920533
./亂碼file
[root@localhost tmp]# find . -inum 920533 -exec rm -f {} \;
[root@localhost tmp]# ls -l
total 1024
-r--r--r-- 1 root root 624541 May 3 09:33 mkisofs-2.01-10.7.el5.x86_64.rpm
srwxrwxrwx 1 mysql mysql 0 Jul 2 12:26 mysql.sock
-rw-r--r-- 1 root root 0 Jul 27 08:26 嘎兒
名為亂碼file 的文件已經刪除了