硬链接

硬链接实际上是一个指针,指向源文件的inode,系统并不为它重新分配inode。硬连接不会建产新的inode,硬连接不管有多少个,都指向的是同一个inode节点,只是新建一个hard link会把结点连接数增加,只要结点的连接数不是0,文件就一直存在,不管你删除的是源文件还是连接的文件。只要有一个存在,文件就存在(其实就是引用计数的概念)。当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。

Hard link 有两个最大的限制:

  1. 不能跨 filesystem ,因为不同的 filesystem 有不同的 inode table。
  2. 不能 link 目录!

语法: ln 文件名 链接名

删除

rm 链接名

软连接(快捷方式)

​ 软链接最直观的解释:相当于Windows系统的快捷方式,是一个独立文件(拥有独立的inode,与源文件inode无关),该文件的内容是源文件的路径指针,通过该链接可以访问到源文件。所以删除软链接文件对源文件无影响,但是删除源文件,软链接文件就会找不到要指向的文件(可以类比Windows上快捷方式,你点击快捷方式可以访问某个文件,但是删除快捷方式,对源文件无任何影响)。

语法:

-s表示软连接,-f表示链接目录

ln -s 文件名 链接目标名

删除

rm 链接名

区别

  1. 软链接和源文件操作权限不一样;硬链接与源文件操作权限完全一致。
  2. 软链接可以跨文件系统(分区);由于inode的限制以及文件系统的可卸载性,硬连接不容许跨文件系统。
  3. 软连接可以对一个不存在的文件名进行连接;硬链接不可以。
  4. 软连接可以对目录进行连接;硬链接不可以 打开目录/etc/rc3.d/ ,我们将看到这里都是符号连接文件(linux系统中的符号连接相当于windows中的快捷方式)。采用以下命令格式: ln -sf 目标文件名 连接文件名
上次更新时间: 2024/5/7 05:59:02