硬链接、软链接和inode

时间:2021-07-13 05:16:35

一 inode节点

inode包含文件的元信息,具体来说有以下内容
* 文件的字节数
* 文件的拥有者uid,所属组gid
* 文件的读、写、执行权限
* 文件的时间戳(ctime、mtime、atime)
* 链接数,即有多少文件名指向这个inode
* 文件数据block的位置

inode查看

查看每个硬盘分区的inode总数和已经使用的数量,可以使用==df -i==命令

硬链接、软链接和inode

使用==stat==命令,查看某个文件的inode信息

硬链接、软链接和inode

使用==ls -i==命令,可看到文件名对应的inode号码:

==ls -i [filename]==


linux系统中硬链接和软链接

创建方法:

1.软链接 ==ln -s source target==
2.硬链接 ==ln source target==

硬链接软链接以下几个特性区别

  • 软链接就相当于快捷方式,删除源文件,快捷方式就没有意义了。
  • 硬链接相当于备份了文件,但是还可以和源文件内容同步,删除源文件,硬链接文件任然有效。
  • 软链接可以跨分区创建,但是硬链接不能
  • 软链接的源文件的inode不相同,但是硬链接文件和源文件inode相同
  • 硬链接创建后链接数增加一条,而软链接不增加
  • 硬链接不允许给目录创建,软链接可以链接任何文件或者文件夹

硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。只删除一个连接并不影响节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

说明

  • 目录只能创建软链接
  • 目录创建链接必须用绝对路径,相对路径创建会不成功,会提示:符号连接的层数过多这样的错误
  • 在链接目标目录中修改文件都会在源文件目录中同步变化
  • 因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了,而硬链接就没有这个缺陷,你想怎么移就怎么移;还有它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。

[root@Centos7 app]#==ln -s ../app/qq /root/qq.soft==
硬链接、软链接和inode