linux删除乱码文件

删除方法

一些乱码文件不可以通过普通的rm命令进行管理。
可以通过删除i节点的方式删除。

[root@192_168_100_35 musicwap]# ls
??,?K?k?ͨa*.?J]?k?Φ??P???Z?b?A?R???X??u??.?????H@B?T???xS查看乱码文件的i结点
[root@192_168_100_35 musicwap]# ll -ih
54263996 -rw-rw-r– 1 musicwap musicwap 0 Sep 20 16:57 ??,?K?k?ͨa*.?J]?k?Φ??P???Z?b?A?R???X??u??.?????H@B?T???xS
使用find命令找文件删除
[root@192_168_100_35 musicwap]# find . -inum 54263996 |xargs -I {} rm {}
[root@192_168_100_35 musicwap]# ls -a
. ..
现在已经删除了。

关于inode介绍

理解Inode要从文件说起,文件存储在硬盘上,硬盘最小的单位是扇区,一般一扇区512字 节,但是如果硬盘以扇区为单位读数据,那样效率太低,一般硬盘都以block(多个扇区)为单位读取数据,最常见的大小是4K。既然文件存储在block 中,那么就需要有一块存储空间放置一些诸如文件的创建者,创建时间,权限的元数据,存储元数据的地方就是Inode。

这里写图片描述

图中Directory不是目录的意思,更准确的理解应该是对应关系和字典。

由图中的查找方式我们可以清晰的看到,文件名只在查找Inode number中使用到,所以它不会存储在Inode中,所有Inode与block间的沟通都是通过Inode number唯一标识的。

硬链接就是在Directory中加 入一条filename和Inode的对应关系,所以如果你删除了原来的文件,是不对硬链接文件有任何影响的,因为删除文件就是将link count 减少,当发现指向Inode为filename数量0的时候,系统会回收相应的Inode和Block空间。但是软链接就不同了,在Linux下所有的都 是文件,所以软链接也有自己的Inode和block ,但是创建软链接不会在增加原文件Inode-Index,当删除原文件的时候,相应的Index不再能找到,所以导致软链接不能用。但是软链接有自身的 优势,可以跨分区,这样就可以解决当前Inode数据区不足够写入,可以使用软链接指向空间充足的空间。

展开阅读全文

没有更多推荐了,返回首页