软链接和硬链接的区别

软链接和硬链接的区别

什么是链接:

文件都是文件名和数据组成的,在linux中被分成两部分:数据和元数据。数据是记录文件的真实内容的地方;元数据是记录文件属性的地方:创建者、大小、创建时间等信息。元数据中的inode号这是唯一标识文件身份的属性。在linux中,文件的inode号可以通过ls –i命令查看。在linux中为了解决文件共享使用,引入了两种链接:硬链接和软链接。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。若一个 inode 号对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件使用了多个别名。

硬链接:

硬链接可以通过ln命令创建:

blob.png

硬链接有相同的inode号,只是文件名不同的文件,所以硬链接有以下的几点特性:

1、文件有相同的inode号、数据块;

blob.png

2、只能对已经存在的文件进行创建;

blob.png

3、不能跨分区进行创建;

blob.png

4、不能对目录创建硬链接,而只能对文件。因为在linux的目录中,有两个特殊的文件.和..,用命令查看这两个目录的inode号可以知道这两个是两个硬链接,如果可以创建硬链接的话,就会形成目录环;

blob.png

blob.png

5、删除一个硬链接并不影响其他有相同inode号的文件,将其中的一个硬链接删除后,其他的文件的链接数-1,只有当链接数为0时,文件删除;

blob.png

在linux系统中,可以通过命令find PATH –inum XXX 命令来查看inode号为XXX的文件已经文件的路径。

注:在一个分区中,会出现inode号被用完但是磁盘还有空间剩余的情况,这时候在该分区中创建文件,会提示空间不足:

  blob.png

软链接:

若文件的数据中存放的是指向的另一个文件的路径名,这就是软连接。软链接就是一个普通文件,只是数据块内容有点特殊。软链接有着自己的 inode 号以及用户数据块。可以用ln –s XXX xxx命令来创建软链接。

与硬链接相比,软链接有以下的特点:

1、软链接有自己的文件属性、权限等;

2、可以跨分区创建;

3、可以对文件以及目录创建;

4、创建软链接时,链接计数不会增加;

5、删除软链接时,不会影响被指向的文件;但是当被指向的文件或目录被删除时,相关的链接就会出错;

原创文章,作者:王更生,如若转载,请注明出处:http://www.178linux.com/53284

赞 (1)
王更生王更生
上一篇 2016-10-20 21:06
下一篇 2016-10-20 21:21

相关推荐

  • 学习宣言

     学习计划:参考N24学习时间与线路图,尽最大努力完成。 目标:学习好Linux,提升自我价值,找一份待遇好的工作。 宣言:每一次轻易的放弃,都是人生的一处败笔,为了梦想,加油!

    Linux资讯 2016-10-26
  • 文本字符处理工具

    文件查看命令 cat,tac,rev cat [options] [file]     -E:显示行结束符     -n:显示行号                    nl file 也能实现相同的功能   …

    Linux干货 2017-02-25
  • 马哥教育21期网络班—第11周课程+练习—-成长进行时–不退步–下

    3、描述DNS查询过程以及DNS服务器类别。 DNS查询过程主机—>查找互联网上的主机 www.magedu.com—>联系到自己指向的DNS服务器—>DNS服务器—>找根 .—>根返回给DNS服务器—>DNS找.com—>com返回给DNS—->DNS找ma…

    Linux干货 2016-09-19
  • Linux系统程序包管理—rpm

     概述:      本章内容:软件的运行环境,软件包基础,rpm包管理,yum管理,定制yum仓库,编译安装 一、软件运行环境     1.□API:Application Programming Interface (应用程序开发接口)         &n…

    Linux干货 2016-09-01
  • Leetcode 编程训练

    Leetcode这个网站上的题都是一些经典的公司用来面试应聘者的面试题,很多人通过刷这些题来应聘一些喜欢面试算法的公司,比如:Google、微软、Facebook、Amazon之类的这些公司,基本上是应试教育的功利主义。 我做这些题目的不是为了要去应聘这些公司,而是为了锻炼一下自己的算法和编程能力。因为我开始工作的时候基本没有这样的训练算法和编程的网站,除了…

    Linux干货 2016-08-15
  • N25_第十一周的作业

    1、详细描述一次加密通讯的过程,结合图示最佳。 2、描述创建私有CA的过程,以及为客户端发来的证书请求进行办法证书。 3、描述DNS查询过程以及DNS服务器类别。          第一段:主机到运营商的DNS服务器(递归)    &nbs…

    Linux干货 2017-02-22