M20 – 1- 第二周(2):硬链接与软链接的区别

在讲硬链接与软链接的区别之前,我们首先了解inode,了解inode让我们更容易理解何为硬链接和软链接。

inode概念

       何为inode,inode就是索引节点,而inode表中存放着文件的元数据,何为元数据,元数据就是文件名称、大小、时间戳、所有者、权限、inode等信息,而文件中的内容就是文件的数据,因此文件是由元数据(metadata)和数据(data)组成。Inode到底有什么用呢,请看下图:

1.png

我们在查找文件时,是以文件名称来查找,但是系统无法识别文件名称,而是以inode号来查找文件的位置,因此 inode 号才是文件的唯一标识而非文件名文件名仅是为了方便人们的记忆和使用,系统或程序都是通过 文件的inode 号查找到的文件数据块。

硬链接概念

接下来了解一下何为硬链接和软链接,硬链接:就是一个文件可以有一个或多个文件名。请看下图:

2.png

是否看了图2觉得对硬链接更容易理解了,硬链接其实就是有很多个文件名不一样,但是元数据都是一样的,都是指向同一个inode,并由inode号指向文件中的内容(数据),当编辑‘filename1’中的元数据或数据时,而filename2与filename3中的元数据与数据也会跟着改变,请看下图:

3.png

硬链接总结:

  1. 创建硬链接会增加额外的记录项以引用文件

  2. 对应于同一文件系统上一个物理文件

  3. 每个目录引用相同的inode号

  4. 创建时链接数递增

注意:删除硬链接文件时

  1. rm命令递减计数的链接

  2. 文件要存在,至少有一个链接

  3. 当链接数为零时,该文件被删除

  4. 不能跨越驱动器或分区

  5. 语法: ln filename [linkname]

软链接概念

何为软链接,软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。请看下图:

77.png

从上图可以看出,软链接的数据也就是另一个硬链接的路径,其数据是引用硬链接文件的,但是元数据却跟硬链接不一致,请看下图:

9.png

是否已经对软链接已经有一个新的认识了呢。

软链接总结:

  1. 一个符号链接指向另一个文件

  2. ls – l的 显示链接的名称和引用的文件

  3. 一个符号链接的内容是它引用文件的名称

  4. 可以对目录进行

  5. 可以跨分区

  6. 指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减少目标文件inode的引用计数

  7. 语法:ln -s filename [linkname]


接下来是重头戏,软链接与硬链接的区别:

  1. 硬链接和原文件没有什么区别,而且共享一个 inode 号,除了名称不一致,其它的数据以及元数据均一致;而软链接不共享 inode,有自己独立的 inode,与原文件的元数据也不一致,但是软链接的数据是引用原文件的数据

  2. 若原文件删除了,则软连接则不可以访问,但是软链接还存在,而硬连接则是可以的,但是硬链接次数递减,而软软件不会更改

  3. 由于符号链接的特性,导致其可以跨越磁盘分区及文件系统,但硬链接不具备这个特性

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

(0)
AleenAleen
上一篇 2016-08-02 10:52
下一篇 2016-08-02 10:52

相关推荐

  • 8月8日作业

    4、如何设置tab缩进为4个字符?    编辑用户工作目录下.vimrc文件,使vim基础设置对个人用户生效,或者编辑/etc/vimrc文件,使配置对系统全部    用户生效。    set tabstop=4 5、复制/etc/rc.d/init.d/functions文件至/tmp目录;替换/…

    Linux干货 2016-08-12
  • Linux软件包管理及相关命令

    rpm命令,yum命令

    2018-03-12
  • http

    http http:hyper text transfer protocol, 应用层协议, 80/tcp, 文本协议 html:hyper text mark language, 是一种编程语言,超文本标记语言; html格式示例: <html> <head> <title>TITLE</title> &lt…

    Linux干货 2017-06-04
  • Cobbler 自动化部署系统

    本人较懒,做好笔记,预排版,打印成 PDF 了。-_## Cobbler 自动化部署系统.pdf

    Linux干货 2015-08-17
  • N25-第七周作业

    第七周 1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; [root@zf ~]# fdisk /dev/sdb Command (m for help): n Command action e extended p primary partit…

    Linux干货 2017-02-24
  • DHCP

        动态主机设置协议(Dynamic Host Configuration Protocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途: 用于内部网络或网络服务供应商自动分配IP地址给用户 用于内部网络管理员作为对所有电脑作中央管理的手段     …

    Linux干货 2017-07-24