硬链接与软链接

1、关于硬链接和软链接是什么

  硬链接与软链接是 Linux 文件系统中的一个重要概念,其涉及文件系统中的索引节点 (index node 又称 inode),而索引节点对象是 Linux 虚拟文件系统 (VFS) 的四个基本概念之一。通过剖析硬链接与软链接的联系与区别,我们可更好的了解 Linux 中 VFS 这一通用文件模型。

(1)区分硬链接和软链接

  那什么叫做硬链接呢?在维基百科上没有相关的解释,也就是说没有这个页面,所以在百度百科上娱乐一下,这个概念是这样说的:

  一个文件有几个文件名(用ln命令实现多个文件名),我们就说该文件的链接数为几。由定义可知,此链接数可以是1, 这表明该文件只有一个文件名。

  总之,硬链接就是让多个不在或者同在一个目录下的文件名,同时能够修改同一个文件,其中一个修改后,所有与其有硬链接的文件都一起修改了。

  其实我们换言之,创建硬链接的时候都指向同一个文件,即使把原来创建的源文件名删除之后,创建硬链接之后的文件也是照样能访问,因为它们两个的inode节点都是一样的,这就好比一个人你的身份证号码是你唯一的,其编号是什么无所谓,只要证明你是唯一就行,只不过就是多起两个名字,硬链接就好比一个文件多起了一个名字,但只要是你的inode节点是唯一就ok了。这其实就是对应于同一文件系统上一个物理文件

  那什么叫做软链接呢?这一次在维基百科上有了答案的相关解释,它是一个特殊的文件,其包含一条绝对路径和相对路径的形式指向其它文件或目录的引用。

  符号链接的操作是透明的:对符号链接文件进行读写的程序会表现得直接对目标文件进行操作。某些需要特别处理符号链接的程序(如备份程序)可能会识别并直接对其进行操作。

(2)它们的限制

  所谓的限制,其实还不如说是它们的注意事项:

  a、硬件接不能夸分区,也只有在同一文件系统的文件之间才能创建链接。

  b、硬链接适用与同一卷的同一级别,不能给目录创建硬链接。

  c、软链接是能夸分区的,但是一旦目标程序被删除之后,就不能查看文件内容了,虽然还指向哪里。

  d、软链接可以指向一个空的目标文件,可以自己循环自己,但删除自己对其目标文件并不受影响。

2、命令

  其实硬、软链接的命令是一样的,都是ln,只不过后者加-s才能标明这是创建软链接的方式

  硬链接命令格式:ln filename [linkname]

  软链接命令格式:ln -s filename [linkname]

  创建硬链接的格式以及它的限制:

图像 3.png

  创建软链接以及它的限制

图像 4.png

  总结:无论硬链接还是软链接,各有各的好处,可以看自己的习惯以及情况来用


原创文章,作者:刘 祥宇,如若转载,请注明出处:http://www.178linux.com/53015

(0)
刘 祥宇刘 祥宇
上一篇 2016-10-20 10:32
下一篇 2016-10-20 12:15

相关推荐

  • Linux发展史

    适用对象:本文适合希望开始学习以及想了解Linux的朋友阅读。本文中所有内容仅供参考,不作为科学依据。 一、      Linux的起源 最初的计算机其实是具有单一功能的大型计算器,只能完成指定或者设定好的工作。多数情况下计算机资源是处于空闲状态的,为了不使资源浪费,就需要使计算机能够或者可以进行多种工作。或…

    Linux干货 2016-10-14
  • 第四周练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 # cp -a /etc/skel /home/tuser1 # chmod -R go= /home/tuser1 2、编辑/etc/group文件,添加组hadoop #vim /etc/group #hadoop:x:5…

    Linux干货 2017-10-21
  • M25 Linux 学习,FHS标准

    FHS FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数Linux版本采用这种文件组织形式,FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。 FHS定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如/etc应该要放置设置文件,/bi…

    2017-07-15
  • useradd命令

    useradd创建用户 使用格式: useradd[options] LOGIN -c:备注信息保存在passwd的备注栏中。 -d:用户登入时的主目录 -e:账号的失效日期,缺省表示永久有效。 -f:密码过期后多少天关闭该账号。 -g:用户所属组。 -G:用户所属的附加群组。 -m:自动创建用户的登入目录。 -M:不要自动创建用户的登入目录。 -n:取消创…

    Linux干货 2017-12-20
  • 什么是网站流量、UV、PV、IP

    什么是网站流量,什么叫网站流量?     通常说的网站流量(traffic)是指网站的访问量,是用来描述访问一个网站的用户数量以及用户所浏览的网页数量等指标,常用的统计指标包括网站的独立用户数量、总用户数量(含重复访问者)、网页浏览数量、每个用户的页面浏览数量、用户在网站的平均停留时间等。     …

    Linux干货 2015-03-20
  • 任务计划使用方法

    概述     任务计划其实就是针对未来的某一刻或者是某一周期内设置要执行的工作;     任务计划分为两种:         1、一次性任务:在指定的未来的某个时间点仅执行一次任务;  &n…

    Linux干货 2015-03-26