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

【硬连接】 
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
【软连接】 
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。 
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不受影响,但是符号连接f1文件无效 
3.总结 
依此您可以做一些相关的测试,可以得到以下全部结论: 1).删除符号连接f3,对f1,f2无影响; 2).删除硬连接f2,对f1,f3也无影响; 
3).删除原文件f1,对硬连接f2没有影响,导致符号连接f3失效; 4).同时删除原文件f1,硬连接f2,整个文件会真正的被删除。    
完~!

转载于:https://www.cnblogs.com/xujanus/p/3429175.html

Linux硬链接和符号链接(转)相关推荐

  1. linux硬链接符号,Linux — 硬链接与符号链接

    # 1. 使用文件 /oradata2/yct/rc.local 进行测试 [oracle@sbdatabase yct]$ pwd /oradata2/yct [oracle@sbdatabase ...

  2. 【Linux】Linux下的硬链接与符号链接

    Linux的初学者常常混淆Linux中的硬链接(hard link)与符号链接(symbol link)的概念,分不清楚它们的区别.因此,本文将向读者全面介绍硬链接与符号链接,给予读者以全面的认识. ...

  3. Linux上创建和更改硬链接和符号链接(软连接)

    Linux上创建和更改硬链接和符号链接(软连接) 对于Linux上的硬链接和软连接而言,使用cp命令,无论覆盖其中的那个文件(源文件,软连接文件,硬链接文件),其它文件的内容都会同步修改. 点击(此处 ...

  4. linux 符号链接有什么用,硬链接和符号链接有什么区别?

    问题描述 正如标题所示,我想知道命令ln创建的硬链接和软链接之间的区别.命令man ln确实提供信息,但没有充分回答我的问题. 另外,如果有人能提供一个硬链接比符号链接更可取的设置,那将会很好. 最佳 ...

  5. 【Linux】硬链接和符号链接(软连接)都可以修改原文件吗?--相同点与不同点

    答案是都可以修改 测试 测试命令如下 $ cd /tmp # 所有人都有rwx权限 $ touch test.txt $ vim test.txt #写入: this is the test file ...

  6. linux硬链接不能创建目录,为什么硬链接不允许用于目录?

    问题描述 我使用的是Ubuntu 12.04,我是一个非常新的Linux世界.当我尝试为任何目录创建硬链接并失败时,我感到非常惊讶.我可以为文件系统边界内的文件创建硬链接.我知道我们无法为文件系统以外 ...

  7. linux 硬链接 软链接_Linux中的软链接–完整参考

    linux 硬链接 软链接 A link in Linux systems are pointers to a file or a directory. There are two types of ...

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

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

  9. linux查看硬链接的对应文件,区分Linux硬链接与软链接

    在Linux中,连接文件有两种,一种类似于Windows的快捷方式,可以让你快速地链接到目标文件(或目录),这种称为软链接(soft link),也叫作符号链接(symbolic link):另一种则 ...

  10. 浅谈硬链接和符号链接的区别

    硬链接(hard link)的创建 使用命令(ln 源文件名 新建文件名) 创建 ls -l命令查看当前目录的文件 当前目录下只有hello.c这一个文件文件类型是 - 表明hello.c是普通文件( ...

最新文章

  1. 把阿里jar包安装到本地,供pom引用
  2. Kali Linux安装谷歌浏览器
  3. python自动化开发是什么_Python自动化开发学习6
  4. xutils,afinal的数据库升级要注意的地方
  5. Gridview 手动排序实现
  6. 39. 组合总和020(思路+详解)
  7. VLC简介及使用说明
  8. STM32F7xx —— 内存管理
  9. java List转换为字符串并加入分隔符的一些方法总结
  10. html5实现拖拽上传图片,JS HTML5拖拽上传图片预览
  11. Oracle数据库链接源文件
  12. 网络摄像头的地盘争夺战——四款僵尸软件的技术解析
  13. 深度学习还是鼠标搞定,零基础建网站必备技能
  14. 驱动人生6网卡版 v6.1.19.90 官方版
  15. ecshop内页显示最新文章
  16. 单例模式-八种方法代码详解
  17. 《C++精英内参之程序员高效指南》-12-8影响效率的不良习惯之科学的休息方法
  18. html5 swipe滑动选择身高,Swipe 移动端滑动插件使用详解
  19. 《从一到无穷大:科学中的事实和臆测》小记
  20. tf.constant

热门文章

  1. 世界读书日,给你们送大福利!
  2. 用python编程、假设一年期定期利率_《Python程序设计》题库.pdf
  3. 应用:文件夹copy器(多进程版)
  4. SQL Server2012数据库的备份和还原
  5. github 远程仓库操作
  6. mobiscroll手机端插件 好用(时间、日历、颜色)
  7. HDU 4508 湫湫系列故事——减肥记I (2013腾讯编程马拉松初赛第一场)
  8. MongoDB中文问题
  9. Mac 版 Android Studio 汉化教程 及汉化包
  10. MyEclipse 保护色设置