详解Linux操作系统中软硬链接的区别

运维 系统运维
对于那些学习Linux操作系统的用户,也许经常会看到软链接,硬链接这两个词,不过你了解这两者之间的区别么?本文为你讲解Linux操作系统软硬链接的区别。

对于那些学习Linux操作系统的用户,也许经常会看到软链接,硬链接这两个词,不过你了解这两者之间的区别么?本文为你讲解Linux操作系统软硬链接的区别。

软硬链接的区别
 
(1)软连接可以 跨文件系统 ,硬连接不可以 。实践的方法就是用共享文件把windows下的 aa.txt文本文档连接到Linux下/root目录 下 bb,cc . ln -s aa.txt /root/bb 连接成功 。ln             aa.txt /root/bb 失败 。

(2)关于 I节点的问题 。硬连接不管有多少个,都指向的是同一个I节点,会把 结点连接数增加,只要结点的连接数不是 0,文件就一直存在 ,不管你删除的是源文件还是连接的文件。只         要有一个存在,文件就 存在(其实也不分什么 源文件连接文件的 ,因为他们指向都是同一个 I节点)。 当你修改源文件或者连接文件任何一个的时候,其他的 文件都会做同步的修           改 。软链接不直接使用i节点号作为文件指针, 而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。软链接有自           己的inode, 并在磁盘上有一小片空间存放路径名。

(3)软连接可以对一个不存在的文件名进行连接 。

(4)软连接可以对目录进行连接。
 
备注:I节点 :它是UNIX内部用于描述文件特性的数据结构。我们通常称I节点为文件索引结点(信息结点)。i节点含有关于文件的大部分的重要信 息,包括文件数据块在磁盘上的地址。每一         个I节点有它自己的标志号,我们称为文件顺序号。I节点包含的信息 :1.文件类型  2.文件属主关系  3.文件的访问权限  4.文件的时间截 。
 
硬连接指通过索引节点来进行的连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index )。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。

硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要的文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当***一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件才会被真正删除。

软链接文件有点类似于Windows的快捷方式。它实际上是特殊文件的一种。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

软链接是另一个文件,作用可以理解为一个指针,作用在这个文件上的操作除了删除都直接转向实际指向文件,由于是一个真实的文件所以占用磁盘空间 。硬链接可以认为不是一个文件,它只是实际文件的一个别名,它的作用是防止真实文件被误操作,给一个文件建立硬链接后,他们互为别名,删除其中任一个,只会删除该别名,实际文件并不会被删除。由于只是别名没有任何其他信息,所以并不占用原始文件大小的磁盘空间。

了解Linux操作系统软硬链接的区别,学好Linux操作系统。

【编辑推荐】

  1. 阐述Linux操作系统安装无线网卡驱动
  2. Wine成功运行Bitcomet于Linux操作系统中
  3. 浅析Linux操作系统中开源Cisco路由虚拟机
  4. Linux操作系统基本知识
  5. 学习手册:Linux操作系统下的poll和select
责任编辑:小霞 来源: pchome
相关推荐

2009-12-23 10:33:52

Linux操作系统

2010-05-04 13:09:21

Unix操作系统

2009-12-02 14:50:28

操作系统

2012-02-22 21:54:57

UnixLinuxCron

2009-12-10 17:27:19

Linux操作系统

2009-12-23 10:05:30

Linux操作系统

2009-12-10 16:45:39

Linux操作系统

2020-06-28 09:40:58

操作系统GPUCPU

2009-12-10 14:27:07

Linux操作系统

2009-12-23 16:16:57

Linux操作系统

2021-08-12 14:49:44

操作系统线程进程

2009-12-09 17:25:19

Linux操作系统

2019-10-21 08:44:54

操作系统GPUCPU

2013-11-15 17:23:50

Linux技巧文件管理

2019-06-14 08:24:16

块设备Linux操作系统

2010-04-27 11:38:14

OpenSUSE 11

2009-12-14 17:25:20

Linux操作系统

2009-10-27 13:20:08

2009-12-22 10:33:32

Linux操作系统

2010-03-16 14:25:48

Linux操作系统
点赞
收藏

51CTO技术栈公众号