软、硬链接的对比分析

 

硬链接与软链接的对比分析

硬链接,即一个文件可以用同一个节点编号却使用多个文件名。这数个文件名之间是平等的关系。

例:我在centos6.9的虚拟机上创建了一个文件f1(touch f1),然后以f1文件为旧文件建立一个名为f1.1的硬链接,再以文件f1.1创建一个名为f1.2的硬链接。接着我在f1文件中写入内容,如下图所示,三个文件中内容是一样的,通过观察这三个文件的节点编号,我们可以发现,三个文件的节点编号是相同的,表示这三个文件其实只是同一个文件拥有着不同的文件名。

最后,我将文件f1删除,但是文件f1.1以及文件f1.2的内容仍旧存在,说明了这三个文件名是平等的存在,并不是互相依存的。

QQ截图20180407102726QQ截图20180407103751

注:1.硬链接不能跨分区建立,因为硬链接是基于文件本身的节点编号建立的,然而节点编号是以各个分区为单位进行单独分配的,所以不同分区相同的节点编号不一定是同一文件。

2.硬链接不支持目录创建,因为目录本身并没有节点编号,只有目录之下的文件才拥有节点编号

软连接,也叫符号链接。与硬链接不同的是,软链接与windows系统中快捷方式相似,所创建出的文件并不是源文件而是源文件的路径。

例:我先建立一个文件f2,然后以文件f2为源文件建立软链接文件f2_link,由下图可知两个文件显现的内容是一样的,但本身的大小却不一样,原因就是f2_link文件内存储的并不是文件f2内的内容而是其路径。而且两个文件节点编号亦不相同证明了这是两个文件,而不是像硬链接那样一个文件使用多个文件名。

QQ截图20180407142357QQ截图20180407143428

 注:软链接因为与源文件是两个文件所以节点编码也不同,可以进行跨分区操作。

    2.软链接因为只是记录路径所以可以对目录进行创建。

软、硬链接的区别:

1.       本质区别:

硬链接:一个文件多个文件名;

软链接:一个文件对应的快捷方式;(并不是同一个文件)

2.       表面区别:

1)       链接数:每创建一个硬链接会增长链接数,而软链接不会;

2)       跨分区:硬链接不支持跨分区,而软链接支持跨分区;

3)       目录:硬链接不支持创建目录,而软链接支持创建目录;

4)       原始文件与链接文件的关系:硬链接文件之间关系平等、不互相依赖,而软链接链接文件依赖于源文件;

5)       删除:硬链接删除源文件不会影响链接文件的使用,而软链接删除源文件后链接文件会失效;

6)       大小:硬链接的大小源自于源文件的大小,而软链接的大小源自于源文件路径的大小。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原创文章,作者:西行,如若转载,请注明出处:http://www.178linux.com/95137

(0)
西行西行
上一篇 2018-04-07 15:29
下一篇 2018-04-07 15:39

相关推荐

  • MBR实验

    实验一  MBR修复 破坏MBR lsblk  /*确认磁盘名*/ hexdump -C /dev/sda -n 512  /*查看MBR分区*/ dd if=/dev/sda of=/date/mbr.bak bs=1 count=512   /*复制MBR分区*/ scp /date/mbr.bak 192.168.213.129:/root/   /*…

    Linux笔记 2018-05-13
  • 脚本编程基础环境设置

    程序:指令+数据程序编程风格:过程式:以指令为中心,数据服务于指令对象式:以数据为中心,指令服务于数据shell程序:提供了编程能力,解释执行 计算机:运行二进制指令编程语言:低级:汇编高级:编译:高级语言–>编译器–>目标代码java,C#解释:高级语言–>解释器–>机器代码…

    Linux笔记 2018-04-15
  • Linux用户和组

    我们知道Linux是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。由于是多用户操作系统,必然要涉及到时管理用户。由于用户访问Linux上的资源比较多,为了方便管理出现的组的概念.将多个用户添加到一个组里,方便管理。 介绍安全3A 资源分派: Authentication:认证 Au…

    Linux笔记 2018-04-08
  • Linux的发展演变及其哲学思想

    Linux的发展演变及其哲学思想 一: 计算机的组成及其功能 (软件和硬件) 硬件部分: (一)控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 (二)运算器(Datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据…

    Linux笔记 2018-06-23
  • shell 脚本教程

    一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂

    2018-04-16
  • 马哥的第一节课

    雄关漫到
    跋山涉水

    Linux笔记 2018-07-22