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

【软连接】
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
这就允许符号链接(经常简写为symlinks)指向位于其他分区、甚至是其他网络硬盘上的某个文件

2.通过实验加深理解
[oracle@Linux]$ touch f1 #创建一个测试文件f1
[oracle@Linux]$ ln f1 f2 #创建f1的一个硬连接文件f2
[oracle@Linux]$ ln -s f1 f3 #创建f1的一个符号连接文件f3
[oracle@Linux]$ ls -li # -i参数显示文件的inode节点信息
total 0
9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f1
9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f2
9797649 lrwxrwxrwx 1 oracle oinstall 2 Apr 21 08:11 f3 -> f1
从上面的结果中可以看出,硬连接文件f2与原文件f1的inode节点相同,均为9797648,然而符号连接文件的inode节点不同。
[oracle@Linux]$ echo "I am f1 file" >>f1
[oracle@Linux]$ cat f1
I am f1 file
[oracle@Linux]$ cat f2
I am f1 file
[oracle@Linux]$ cat f3
I am f1 file
[oracle@Linux]$ rm -f f1
[oracle@Linux]$ cat f2
I am f1 file
[oracle@Linux]$ cat f3
cat: f3: No such file or directory
通过上面的测试可以看出:当删除原始文件f1后,硬连接f2不受影响,但是符号连接f3文件无效
3.总结
依此您可以做一些相关的测试,可以得到以下全部结论:
1).删除符号连接f3,对f1,f2无影响;
2).删除硬连接f2,对f1,f3也无影响;
3).删除原文件f1,对硬连接f2没有影响,导致符号连接f3失效;
4).同时删除原文件f1,硬连接f2,整个文件会真正的被删除。

Linux中的硬链接和软链接相关推荐

  1. 浅谈linux中的硬链接和软链接文件以及ln的使用方法

    在linux系统中有一种文件叫做链接文件,可以为解决文件的共享使用.链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link). 一.基 ...

  2. linux硬链接同步文件夹,linux中的硬链接和软链接

    一.ln命令概述 它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上 ...

  3. Linux下的硬链接和软链接

    Linux下的硬链接和软链接 一.系统及ln版本 二.硬链接 1.创建目录及文件 2.创建链接文件 3.查看链接文件 4.删除源文件,链接文件不受影响 三.软链接 1.创建目录及文件 2.创建软链接文 ...

  4. Linux 系统的硬链接和软链接详解

    文章目录 什么是链接 链接用来干什么的 硬链接和软链接的区别 硬链接和软链接的图示 总结 我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 ...

  5. Linux中的 硬链接ln和软连接ln -s

    文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata).用户数据,即文件数据块 (data block),数据块是记录文件真实内容的 ...

  6. linux练习2021-11-2硬链接与软链接计划任务

    任务1:创建硬链接与软链接 1.在/root目录下,删除所有文件和目录,然后再创建文件a1.txt和c1.txt .目录aa和cc 命令:cd           rm    -rf    ./*   ...

  7. Windows中的硬链接和软链接:

    硬链接 从Windows NT4开始,NTFS文件系统引入了HardLink这个概念,它让一个文件可以拥有多个访问路径. 如上图,左边为链接,右边为真正的文件.删除链接并不会删除源数据文件. 示例,为 ...

  8. 葵司JAVA25_Linux中的硬链接和软链接

    Linux中的文件有两种数据: 用户数据 元数据(metadata) 用户数据就是数据block. 元数据包含inode.用户名.时间,大小等信息. 其中inode是文件的唯一标识. //创建一个硬链 ...

  9. Linux常用命令— 硬链接和软链接

    一.文件和目录的基本存储说明 之前说过分区,每个分区都可以理解为分成两部分,一小部分里边是存放文件的i节点,大部分放的是Block文件块. 在文件的i节点当中保存的信息有:i节点号,时间,权限,保存位 ...

最新文章

  1. 网络流24题(2) P4014 分配问题
  2. 第一天2017/03/28
  3. VTK/ITK 学习资料
  4. 前端学习(2406):反馈
  5. python批量音频转格式_python将mp3格式批量转化为wav格式
  6. 邯郸计算机三加二专大专学校,双辽中专学校有保障,32学校排名
  7. 国内最大“十元店”上市!市值或超百亿美元,腾讯是股东之一
  8. 40岁老码农面试京东被淘汰,HR感叹:40岁混不到高管,都会被清退
  9. SAP License:用科学发展观认识会计
  10. Struts学习之自定义拦截器
  11. 数据结构上机实践第10周项目1 - 二叉树算法验证
  12. var a=function和function b有什么区别
  13. python 模拟用户点击浏览器_浏览器行为模拟之requests、selenium模块
  14. goodix触摸屏(IIC)外设驱动
  15. 图灵工业机器人说明书_从2020世界人工智能大会,看工业机器人领域领军企业布局|机器人大讲堂...
  16. 微信分享代码申请key教程
  17. 什么是OLAP?主流八大开源OLAP技术架构对比
  18. 《数据结构》第十一篇、线性表中的链式存储结构--循环链表
  19. WordPress安装教程
  20. mysql查询一天内,一周,一个月内的消费记录

热门文章

  1. 使用nmap-converter将nmap扫描结果XML转化为XLS实战
  2. 如何衡量系统内存健康程度: memdelay简介
  3. GopherChina 2018 区块链+容器+Go底层实现
  4. [转]数据结构:图的存储结构之邻接多重表
  5. linux下redmine3.3迁移、升级、插件备忘录
  6. 静态方法mock 和verify
  7. input 的read only 和 disable的区别
  8. [C#]解决生成的缩略图模糊的问题
  9. Ubuntu 输入法安装
  10. Linux桌面版横评:十、Vector Linux 5.8 SOHO Final