解压文件的时候出现一个乱码文件,这个文件原来应该是中文的,可是我的Centos并没有开启中文支持,所以就出现了乱码,删除或重命名方法如下:
1、获取乱码文件的inode号
[root@Server default]# ls -li 116916277 -rw-r--r-- 1 root root 3591 May 10 2012 -?+?.htm 116661011 drwxrwxrwx 7 www root 4096 Jun 10 22:21 ftp 116916273 -rw-r--r-- 1 root root 2285 Jun 10 22:04 index.html 116916274 -rw-r--r-- 1 root root 5683 Jun 10 22:04 lnmp.gif 116918226 -rw-r--r-- 1 root root 56756 Jan 2 2013 p.php 116916271 -rw-r--r-- 1 root root 17 Jun 10 22:04 phpinfo.php 120068623 drwxr-xr-x 8 root root 4096 Aug 12 2012 phpmyadmin
116916277就是-?+?.htm
这个乱码文件的inode号,记住这个inode号,下面删除或重命名的时候会用到它。
2、删除或重命名乱码文件
删除
find . -inum 116916277 -exec rm -rf {} \;
重命名
find . -inum 116916277 -exec mv {} name \;
ll查看目录发现一个乱码的目录,通过rm “10??UML?͵????̳ǣ?????”删除不成功。
[root@corigin Android]# ll
总用量 20481436 drwxr-xr-x. 3 root root 18 4月28 18:22 10??UML?͵????̳ǣ?????
查看该目录的ID号
ls -li
- 1
▒[root@corigin Android]# ls -li
总用量 20481436 409443929 drwxr-xr-x. 3 root root 18 4月 28 18:22 10??UML?͵????̳ǣ?????
删除
find ./ -inum 409443929 -exec rm -rf {} \;
- 1
[root@corigin Android]# find ./ -inum 409443929 -exec rm -rf {} \;
find:‘./10\241\242UML\272͵\347\327\323\311̳ǣ\250\315\352\325\373\243\251’:
没有那个文件或目录
虽然提示没有那个文件或目录,但是再次ll查看,发现乱码目录已经被删除了。
有时候可能需要重命名而不是删除,重命名的命令入下
find ./ -inum 409443929 -exec mv {} name \;
- 1
▒[root@corigin Android]# find ./ -inum 47991094 -exec mv {}
“10、UML和电子商城(完整)” \; find:
‘./10\241\242UML\272͵\347\327\323\311̳ǣ\250\315\352\325\373\243\251’:
没有那个文件或目录
还是提示没有那个文件或目录,不用管,直接ll查看结果,发现重命名成功了。
可能出现的错误:
[root@corigin Android]# find ./ -inum 409443929 -exec rm -rf {} \;
find: 遗漏“-exec”的参数
解决:
注意-exec后面的参数字符是否是英文字符,以及{}和\;之间有个空格符号。