linux 符号链接和硬链接


linux 链接分两种,一种是硬链接(hard link),另一种是符号链接(symbolic link)。

命令

  • 硬链接:$ ln src-file dst-file
  • 符号链接:$ ln -s src-file dist-file

硬链接

硬链接通过索引节点进行链接。在linux的文件系统,保存在磁盘分区的文件不管是什么类型都会给他分配一个编号,称为索引节点号。在linux中,多个文件名指向同一个索引节点是存在的。这种情况就是硬链接。即便删除源文件,如果这个文件的硬链接还存在,则这个文件不会被删除,除非所有的硬链接全部被删除(即当前文件的索引计数为0),这个文件才真正意义上的被删除(释放空间),也就是说,文件真正删除的条件是与之相关的所有硬链接文件均被删除。

硬链接只能链接文件,不能指向文件夹。

符号链接

类似于windows系统的快捷方式,它实际上是一个特殊的文件,其中保存的是另一个文件的位置信息。

符号链接可以指向文件夹和文件,当源文件删除时,符号链接失效。

20DB.tmp.jpg

从上面结果可以看出,硬链接文件file-link-d的inode和源文件file1相同,但是符号链接不同

Paste_Image.png

当删除源文件后,看到,硬链接文件依然有效,说明删除文件只是将文件的索引计数减一,而符号链接由于保存的是源文件的地址,当源文件被删除,符号连接找不到指向的文件,所以符号链接失效。


总结

  • 软链接有自己的文件属性及权限等;
  • 可对不存在的文件或目录创建软链接;
  • 软链接可交叉文件系统;
  • 软链接可对文件或目录创建;
  • 创建软链接时,链接计数 i_nlink 不会增加;
  • 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • Linux系统一般有4个主要部分: 内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本...
    偷风筝的人_阅读 8,472评论 1 17
  • Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。 内核、shell和文件系统一起形成了基本...
    请爱护小动物阅读 8,032评论 0 22
  • 转载自:http://blog.csdn.net/hguisu/article/details/6122513原作...
    miaoiao阅读 5,431评论 0 7
  • 我不知道现在的自己为什么会压抑的很难受,有时候明明觉得自己是那种无所谓,遇到什么事都能乐观地坦然面对。可是有时候自...
    若温言或软语阅读 2,444评论 0 0