理解Inode要从文件说起,文件存储在硬盘上,硬盘最小的单位是扇区,一般一扇区512字节,但是如果硬盘以扇区为单位读数据,那样效率太低,一般硬盘都以block(多个扇区)为单位读取数据,最常见的大小是4K。既然文件存储在block中,那么就需要有一块存储空间放置一些诸如文件的创建者,创建时间,权限的元数据,存储元数据的地方就是Inode。
注:Inode信息中是没有文件的文件名的。为什么?
我们来看一下Inode的结构图就明白原因了
图中Directory不是目录的意思,更准确的理解应该是对应关系和字典。
由图中的查找方式我们可以清晰的看到,文件名只在查找Inode number中使用到,所以它不会存储在Inode中,所有Inode与block间的沟通都是通过Inode number唯一标识的。
了解的文件存取的原理之后我们来看一下ln命令
众所周知ln命令分为硬链接和软链接,根绝上面的结构图,硬链接就是在Directory中加入一条filename和Inode的对应关系,所以如果你删除了原来的文件,是不对硬链接文件有任何影响的,因为删除文件就是将link count 减少,当发现指向Inode为filename数量0的时候,系统会回收相应的Inode和Block空间。但是软链接就不同了,在Linux下所有的都是文件,所以软链接也有自己的Inode和block ,但是创建软链接不会在增加原文件Inode-Index,当删除原文件的时候,相应的Index不再能找到,所以导致软链接不能用。但是软链接有自身的优势,可以跨分区,这样就可以解决当前Inode数据区不足够写入,可以使用软链接指向空间充足的空间。
这样的设计带来的好处:
1. 如果一个文件名中包含特殊字符不能删除,可以通过删除Inode来达到删除文件的目的。
find . -inum inodeno -exec rm -i {} \;
2. 修改文件名,移动文件只是改变文件名,不用修改Inode信息和block信息。
3. 可以再不关闭软件,不重启的情况下完成升级,因为系统在运行的过程中通过Inode number进行识别,而不是文件名,所以可以在InodeIndex中以同样的文件名指向不同的Inode,在新的block中写入新文件,下次打开软件直接指向新的Inode和block
相关推荐
H3C的iNode客户端,Linux64位版本,portal 802.1X sslvpn 3种认证方式都支持,其他用户上传的几乎都缺少SSLVPN的支持,甚至只支持一项 依赖:gcc-libs ncurses5 如果你是Arch党,还可以使用PKGBUILD构建软件包:...
H3C iNode 智能客户端,Linux 版本的 iNode 智能客户端(以下简称 Linux iNode)是一款多功能接入软件,可以和以太网交 换机、路由器等设备共同组网,再配合 iMC EIA/EAD,实现对接入用户的身份认证和安全检查。Linux...
linux系统下的联网工具h3c iNodeClient_Linux
linux64位inode客户端免费下载,请点个赞,具体安装可查看给博客:https://blog.csdn.net/SU3752/article/details/80323209
Linux 中的文件分为 Hard Link 和 Symbolic Link 两种。Hard Link 文件又被称为硬链接文件、实体...要读取该文件的内容,需要通过文件所在的目录中记录的文件名找到文件的 inode 号,然后通过 inode 找到存储文件内容的
inode 客户端,在ubuntu上可以使用
linux操作系统下的inode客户端,某些大学校园网内用于拨号认证。
iNodeClient for Linux的软件和使用说明书。
inode客户端linux版本,本身是32位,但是通过安装相应的库,也可以用在64位的系统上:http://blog.csdn.net/le119126/article/details/49950815 64位redhat亲测可用
iNodeClient_Linux.tar.gz 有64有32 自行运行Install.sh Install_64.sh即可
该软件是linux下的inode拨号客户端,本人在Gentoo linux上已经成功配置安装,在其他主流发行版肯定没问题。
iNodeClient for Linux 64 bits environment(网络测试环境为西安工业大学未央校区)
Linux版本的iNode,支持802.1x连接和portal连接,64位的
H3C_iNode_PC_7.3_E0509, 官网普通用户下不来,好不容易找到了,分享下
iNodeClient for Linux 64 bits environment