Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。
--硬连接
硬 连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户 就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和 其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

【软连接】
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

下面是一些例子:

keney@keney-laptop ~> touch f1       #创建一个测试文件f1
keney@keney-laptop ~> ln f1 f2        #创建f1的一个硬连接文件f2
keney@keney-laptop ~> ln -s f1 f3    #创建f1的一个符号连接文件f3
keney@keney-laptop ~> ls -li            # -i参数显示文件的inode节点信息

1284 -rw-r--r-- 2 keney keney    0 2009-05-24 10:44 f1
1284 -rw-r--r-- 2 keney keney    0 2009-05-24 10:44 f2
1340 lrwxrwxrwx 1 keney keney    2 2009-05-24 10:45 f3 -> f1

从上面的结果中可以看出,硬连接文件f2与原文件f1的inode节点相同,均为1284,然而符号连接文件的inode节点不同。

keney@keney-laptop ~> echo "I am f1 file" >> f1
keney@keney-laptop ~> cat f1
I am f1 file
keney@keney-laptop ~> cat f2
I am f1 file
keney@keney-laptop ~> cat f3
I am f1 file
keney@keney-laptop ~> rm -f f1
keney@keney-laptop ~> cat f2
I am f1 file
keney@keney-laptop ~> cat f3
cat: f3: No such file or directory

当删除原始文件f1后,硬连接f2不受影响,但是符号连接f1文件无效

依此可见:

1).删除符号连接f3,对f1,f2无影响;
2).删除硬连接f2,对f1,f3也无影响;
3).删除原文件f1,对硬连接f2没有影响,导致符号连接f3失效;
4).同时删除原文件f1,硬连接f2,整个文件会真正的被删除。

Symbolic link and hard link的区别(linux)相关推荐

  1. Hard link and soft link in Linux

    2019独角兽企业重金招聘Python工程师标准>>> 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在 ...

  2. [html] 页面导入样式时,使用link和@import有什么区别?

    [html] 页面导入样式时,使用link和@import有什么区别? 区别: 1.link是HTML标签,@import是css提供的. 2.link引入的样式页面加载时同时加载,@import引入 ...

  3. 前端学习(46):页面导入样式时,使用link和@import有什么区别?

    用法 import的写法 <style type="text/css">         @import url("a.css"):     < ...

  4. 页面导入样式时,使用link和@import有什么区别?

    用法区别: <!-- link用法 --> <head><link rel="stylesheet" href=""> &l ...

  5. linux什么是硬链接和软连接区别,Linux硬链接和软连接的区别与总结

    图示软硬链接的区别 有关硬链接的总结 具有相同inode节点号的多个文件互为硬链接文件: 删除硬链接文件或者删除源文件任意之一,文件实体并未被删除: 只有删除了源文件和所有对应的硬链接文件,文件实体才 ...

  6. 华为数通笔记-Smart Link和Monitor Link

    Smart Link和Monitor Link简介 定义 Smart Link,又叫做备份链路.一个Smart Link由两个接口组成,其中一个接口作为另一个的备份.Smart Link常用于双上行组 ...

  7. linux的wq 与wq的区别,Linux ESC :wq 和:wq!的区别

    Linux ESC :wq 和:wq!的区别 Linux ESC:wq 和:wq!的区别 发布者:IT人在线 | 发表时间:2018-12-4 17:20:43 Linux ESC :wq esc(键 ...

  8. Smart Link 与Monitor Link

    原理概述: 在以太网络中,为了提高网络的可靠性,通常采用双归属上行方式进行组网,即一台交换机同时连接两台上行交换机,但是在二层网络中可能会带来环路问题.为了解决环路问题,可以采用STP技术,但STP的 ...

  9. Smart Link和Monitor Link

    Smart Link和Monitor Link Smart Link 简单的说就是实现链路负载,或者理解可将自定义的数据流走哪条链路. Monitor Link英文的解释就是他的意思,用来做上下端口联 ...

  10. Smart Link与Monitor Link的配置

    一.原理简述 在以太网的网络中,为了提高网络的可靠性,一般采用双归属上行方式进行组网,就是指交换机同时连接着两台上行交换机,可是存在一些问题,例如二层网络中可能存在环路问题.其解决方法是采用STP技术 ...

最新文章

  1. InstallShield9中开始菜单的设置
  2. 中粮国际对话国际农民丰收节贸易会 谋定国际农贸现代化
  3. sap.ca.ui.model.format.NumberFormat format logic for Globalization
  4. 初学JAVA随记——循环语句的几个要点
  5. RabbitMQ---9、消息确认机制(事务+Confirm)
  6. python消息模块_python - psutil 系统信息模块
  7. 使用换IP软件的代理IP速度缓慢的原因是什么?详解!
  8. uniapp-页面内/页面间数据的流动传递-this-that
  9. android 5.0 截屏权限,Android 5.0 无Root权限实现截屏
  10. 【5G系列】Network Slicing学习总结(4)
  11. Chrome下载文件,文件名出现乱码解决
  12. 2018年第一周APP黑马榜单
  13. linux登出用户,Linux系统中用户的登入登出命令详解
  14. 【AGC004E】Salvage Robots【动态规划dp】
  15. Atcoder 284题解
  16. 解决word在输入文字后公式自动矮的问题,同时实现公式自动居中,编号居右
  17. 【逗老师带你考IE】如何快速通过HCIE考试
  18. 圣诞节的那些事(链接标签+路径)
  19. LeetCode算法题
  20. 敏捷、DevOps、BizDevOps简介

热门文章

  1. 用python实现线性回归算法
  2. 安卓逆向新人练手项目
  3. 对象存储OSS(微信小程序直传实践)
  4. Altium Designer 18 速成实战 第五部分 PCB流程化设计常用操作(三十)Cutout的放置
  5. 如何使用ABBYY FineReader 14的对比文档功能
  6. 剪辑视频,如何提取视频封面
  7. Python实验舱谢尔宾斯基地毯绘制教程
  8. mybatis一对多查询内层排序问题
  9. Python爬虫——urllib下载和订制请求对象
  10. kali详细安装教程