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)
上一篇 2016-08-02 10:52
下一篇 2016-08-02 10:52

相关推荐

  • 20160803用户权限作业

    三种权限rwx对文件和目录的不同意义 文件:r:可以cat查看文件中的内容,可以查看文件的属性          w:可以ll查看文件的属性,也可以往文件中写入内容,如果其父目录具有写和执行权限就可删除其内部文件        &…

    Linux干货 2016-08-07
  • 第4周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。     ~]# cp -r /etc/skel/ /home/tuser1     ~]# chmod 700 /home/tuser1/ 2、…

    Linux干货 2016-12-25
  • Linux 第五天: (08月01日) 练习和作业

    Linux 第五天: (08月01日) 练习和作业         创建用户gentoo, 附加组为bin和root, 默认shell为/bin/csh, 注释信息为"Gentoo Distribution" useradd -G bin,root -c "Gentoo Distribut…

    Linux干货 2016-08-08
  • 优云云监控:先定一个运维小目标,比方监控它10000台主机

    “想做世界最好是对的,但是最好先定一个能达到的小目标,比方说我先挣它一个亿。”,王首富云淡风轻地给各行各业提供了一个很好的Roadmap,包括我们运维。的确,如今数据中心的规模增长速度也已像一匹脱缰的野马,各地都频频建设起超大型数据中心。按工信部的定义,超大型是指规模大于等于一万个标准机架的数据中心,考虑到虚拟化技术的使用,实际上需要运维的主机规模很容易超过…

    系统运维 2016-12-05
  • 安全与加密、申请CA证书

    本章内容 v  1、安全机制  2、对称加密  3、不对称加密 4、散列算法  5、PKI 和CA v 在互联网数据传输的过程的,数据的安全私密性是及其重要的,所以就有数据的加密和解密的过程。 数据加密,是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文。它…

    Linux干货 2016-12-04
  • Linux系统终端类型

    引言 终端(Terminal)也称终端设备,是计算机网络中处于网络最外围的设备,主要用于用户信息的输入以及处理结果的输出等。在早期计算机系统中,由于计算机主机昂贵,因此一个主机一般会配置多个终端,这些终端本身不具备计算能力,仅仅承担信息输入输出的工作,运算和处理均由主机来完成,在个人计算机时代,个人计算机可以运行称为终端仿真器的程序来模仿一个终端的工作。 &…

    Linux干货 2016-10-19