Linux删除乱码文件

乱码这个词往往大家都不喜欢,文件的乱码,可能是文件的编码文件,同样,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?

这样就可以删除了,是不是免了不少麻烦呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值