1.Linux链接概念
Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。

【硬连接】
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode

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

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

通过实例可以加深理解:

[root@v230 liujuan]# echo "i am f1 file" >>f1  #创建一个测试文件f1
[root@v230 liujuan]# ln f1 f2   #创建f1的一个硬连接文件f2

[root@v230 liujuan]$ ln -s f1 f3       #创建f1的一个符号连接文件f3
[root@v230 liujuan]$ ls -li            # -i参数显示文件的inode节点信息

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

接下来我们再做一个测试,看一下f1 f2 f3的关系

接下来再做一组测试

通过上面的测试可以看出:当删除原始文件f1后,硬连接f2不受影响,但是符号连接f1文件无效

总结:

依此您可以做一些相关的测试,可以得到以下全部结论:
1).删除符号连接f3(快捷方式),对f1,f2无影响;
2).删除硬连接f2,对f1,f3也无影响;
3).删除原文件f1,对硬连接f2没有影响,导致符号连接f3(快捷方式)失效;
4).同时删除原文件f1,硬连接f2,整个文件会真正的被删除。

摘自:http://www.cnblogs.com/itech/archive/2009/04/10/1433052.html

非常感谢原作者。

最新文章

  1. extentreports报告插件之extentX之服务搭建(三)
  2. html 组装table 指定列自动换行
  3. VTK初学一,b_PolyVertex多个图形点的绘制
  4. hdu1712 分组背包
  5. CI如何接受POST请求中的JSON数据
  6. 手机上的频段GSM GPRS分别是什么
  7. Linux使用者管理(1)---用户账号
  8. POJ 2039 To and Fro(模拟)
  9. 为什么报错说req未定义,createServer只接受匿名函数吗?
  10. 密码学——网间数据加密传输全流程(SSL加密原理)
  11. 利用Apache POI 实现简单的Excel表格导出
  12. JS中有关数组Array的常用方法函数
  13. python函数式编程之迭代器
  14. SQLServer之删除约束
  15. jquery获取radio选中值及遍历
  16. Vue的href动态拼接绑定
  17. linux TLB表
  18. hdu1429 胜利大逃亡(续) 【BFS】+【状态压缩】
  19. PMP:4.项目整合管理
  20. Codeforces Round #499 (Div. 2) C Fly题解

热门文章

  1. NonWindowJoin
  2. Flink的keyby延时源码
  3. Flink connectedstreams
  4. Python 操作redis有序集合(sorted set)
  5. Linux 关于Transparent Hugepages的介绍【转】
  6. Animation.setFillAfter and Animation.setFillBefore的作用
  7. 5. 支持向量机(SVM)软间隔
  8. Eigen教程(3)
  9. json数据在前端(javascript)和后端(php)转换
  10. junit import org.junit.Test 报错