在服务上上传或创建文件时,可能由于编码等原因偶然会生成一些乱码文件,直接使用rm是很难删除的,这种情况可以通过find命令进行删除。
进入存在乱码的目录, 如下服务器上的乱码文件:
1
2
3
4
5
6
|
[root@testserver ~]#ls -lrtha
total 124K
-rw-r--r--. 1 root root 100 Sep 23 2004 .cshrc
-rw-r--r--. 1 root root 129 Dec 4 2004 .tcshrc
-rw-r--r--. 1 root root 18 May 20 2009 .bash_logout
-rw-r--r-- 1 root root 0 Oct 10 2015 .?Xk?ͨa.?J]?k?Φ??P??W??,?K?
|
使用ls的i参数可以查看文件或目录的inode
1
2
|
-i, --inode
print the index number of each file
|
1
2
3
4
5
6
|
[root@testserver ~]#ls -lrthai
total 124K
1063477 -rw-r--r--. 1 root root 100 Sep 23 2004 .cshrc
1063478 -rw-r--r--. 1 root root 129 Dec 4 2004 .tcshrc
1063474 -rw-r--r--. 1 root root 18 May 20 2009 .bash_logout
1067472 -rw-r--r-- 1 root root 0 Oct 10 2015 .?Xk?ͨa.?J]?k?Φ??P??W??,?K?
|
前面的数字就是inode,如乱码文件为1067472,这样就可以使用find查找inode进行删除了
1
|
[root@testserver ~]#find . -inum 1067472 -exec rm {} -rf \;
|