乱码这个词往往大家都不喜欢,文件的乱码,可能是文件的编码文件,同样,Linux服务器下出现的文件名乱码多数也是由于编码
比如,最近常遇到一些ftp用户,在把文件传到服务器上时用的ftp上传工具没有设置编码
由于该Linux使用的是utf-8编码,Windows上的用户在上传的时候默认不是utf-8的,这个时候,如果遇到文件中含有中文或是其他全角字符,有可能出现一大堆乱码
结果就是,操作也操作不了
那么这类文件就不能动了吗?我想删除它怎么办呢?看看下面的操作你就知道了
如下的目录中,有一文件名乱码的文件:
$ ls -l
total 84
drwxr-xr-x 2 root root 4096 May 9 11:25 bin
drwxr-xr-x 2 root root 4096 Mar 30 2007 boot
drwxr-xr-x 10 root root 13160 May 30 02:17 dev
drwxr-xr-x 18 root root 4096 May 8 02:46 eaccelerator_cache
drwxr-xr-x 37 root root 4096 May 30 02:17 etc
drwxr-xr-x 6 root root 4096 May 23 17:10 home
...
drwxr-xr-x 2 root root 4096 Mar 30 2007 srv
drwxr-xr-x 11 root root 0 May 30 02:17 sys
drwxrwxrwt 5 root root 4096 Jun 11 13:44 tmp
drwxr-xr-x 13 root root 4096 Jul 9 2008 usr
drwxr-xr-x 17 root root 4096 Jul 9 2008 var
drwxr-xr-x 5 root root 4096 May 23 22:56 wwwroot
-rw-r--r-- 1 root root 0 May 23 22:38 ?Os???j?
上面的红色文件,我们无法用键盘输入,所以也无法删除
可以使用 索引节点(i节点) 进行删除,使用ls命令的 -i 参数:
$ ls -li
51665 -rw-r--r-- 1 root root 0 May 23 22:38 ?Os???j?
得到i节点为 51665
通过find命令删除i节点为51665的文件
$ find ./ -inum 51665 -print -exec rm {} -rf \;
./?Os???j?
这样就可以删除了,是不是免了不少麻烦呢?
Linux删除乱码文件
最新推荐文章于 2017-04-09 22:08:00 发布