硬链接和符号链接详解

硬链接和符号链接详解文件属性软硬连接 链接有两种 一种被称为硬链接 HardLink 另一种被称为符号链接 SymbolicLink 建立硬链接时 链接文件和被链接文件必须位于同一个文件系统中 并且不能建立指向目录的硬链接 而对符号链接 则不存在这个问题 默认情况下 ln 产生硬链接 在硬链接的情况下 参数中的 目标 被链接至 链接名 如果 链接名 是一个目录名 系统将在该目录之下建立一个或多个与 目

文件属性软硬连接:

链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。而对符号链接,则不存在这个问题。默认情况下,ln产生硬链接。

在硬链接的情况下,参数中的“目标”被链接至[链接名]。如果[链接名]是一个目录名,系统将在该目录之下建立一个或多个与“目标”同名的链接文件,链接文件和被链接文件的内容完全相同。如果[链接名]为一个文件,用户将被告知该文件已存在且不进行链接。如果指定了多个“目标”参数,那么最后一个参数必须为目录。

如果给ln命令加上- s选项,则建立符号链接。如果[链接名]已经存在但不是目录,将不做链接。[链接名]可以是任何一个文件名(可包含路径),也可以是一个目录,并且允许它与“目标”不在同一个文件系统中。如果[链接名]是一个已经存在的目录,系统将在该目录下建立一个或多个与“目标”同名的文件,此新建的文件实际上是指向原“目标”的符号链接文件。

硬链接:ln 源文件 目标文件

软连接:ln -s 源文件 目标文件(目标文件不能已经存在)

 

1. 硬链接(hard link) :

在Linux文件系统中,多个文件名指向同一个索引节点(inode)。这种情况文件就称为硬链接。硬链接文件就相当于文件的另外的一个入口。

例:

[root@centos ~]# ls -il ett.txt

39 -rw-r–r–. 1 root root 292 5月  10 19:58 ett.txt

[root@centos ~]# ln ett.txt a

[root@centos ~]# ls -hil ett.txt a

39 -rw-r–r–. 2 root root 292 5月  10 19:58 a

39 -rw-r–r–. 2 root root 292 5月  10 19:58 ett.txt

硬链接知识:

  1. 具有相同inode节点号的多个文件是互为硬链接文件
  2. 删除硬链接文件或者删除源文件任意之一,文件实体并未被删除
  3. 只有删除了源文件及所有对应的硬链接文件,文件实体才会被删除
  4. 当所有的硬链接文件及源文件被删除后,再存放新的数据会占用这个文件的空间,或者磁盘fsck检查的时候,删除的数据也会被系统回收
  5. 硬链接文件就是文件的另一个入口
  6. 可以通过给文件设置硬链接文件,来防止重要文件被误删
  7. 通过执行 ln 源文件 硬链接文件 即可创建硬链接文件
  8. 硬链接文件是普通文件,所以可以用rm命令删除
  9. 对应静态文件(没有进程正在调用的文件)来讲,当对应硬链接数为0(i_link),文件就被删除了。i_link的查看方法:ls -l 第三列的数字就是

硬链接的限制:

2.软链接(symbolic link):

软连接又叫做符号链接,它几乎可以等价于windows下的快捷方式;

[root@centos ~]# ls -li install.log b

121 lrwxrwxrwx  1 root root    11 5月  18 15:14 b -> install.log

13 -rw-r–r–. 1 root root 21712 5月   8 00:06 install.log

 

软连接的创建:

软连接:ln -s 源文件 目标文件(目标文件不能已经存在)

软连接知识:

  1. 软连接类似window的快捷方式(可以通过readiink查看其指向)
  2. 软连接类似一个文本文件,里面存放的是源文件的路径,指向源文件实体
  3. 删除源文件,软连接文件依然存在,但是无法访问指向的源文件路径内容了
  4. 失效的时候一般是白字红底闪烁提示
  5. 执行命令“ln -s 源文件 软连接文件”,即可完成创建软连接(目标不能存在)
  6. 软连接和源文件是不同类型的文件,也是不同的文件,inode号也不相同
  7. 软连接文件的文件类型为(l),可以用rm命令删除

硬链接和符号链接详解

有关文件的整体总结:

1.删除软连接,对源文件和硬链接文件都没有影响

2.删除硬链接,对源文件和软连接文件都没有影响

3.删除源文件,对硬链接没有印象,但是会导致软连接文件失效,白底红字闪烁

4.同时删除源文件和硬链接文件,整个文件才会真正的被删除

5.源文件和硬链接文件具有相同的索引节点号,可以认为是同一个文件或一个文件多个入口

6.源文件和软连接文件的索引节点号不相同,是不同的文件,软连接文件相当于源文件的快捷方式,含有源文件的位置指向

有关目录的总结:

  1. 对于目录,不可以创建硬链接,但可以创建软连接
  2. 目录的硬链接不能跨越文件系统
  3. 每个目录下面都有一个硬链接.号,和对应上级目录的硬链接..
  4. 在父目录里面创建一个子目录,父目录的链接数会增加1(子目录里都来指向父目录)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226491.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午10:46
下一篇 2026年3月16日 下午10:47


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号