软连接与硬链接区别

前言:

今天学习了文件系统,简单的接触到文件系统构成的原理。原来我们不管在linux和win上面删除某个文件只是删除一个链接而已。而linux把链接分为软链接和硬链接。接下来我们就从文件系统构成的基本原理出发来说明下linux软链接和硬链接的区别。

文件系统简述:

linux的哲学就是一切皆文件。为了方便人们的使用,我们可以通过看文件名来区分不同的文件。但作为只识别0 1 的机器,让它识别一串文字肯定复杂的多。所以linux文件系统用一串数字来标识一个文件,而且这个数字在文件所处的分区中是唯一存在的。这串数字就是inode号。那inode是什么? 文件主要有两个部分数据构成,即元数据(metadata)和数据(data)。数据就是我们向往文件中保存的数据,元数据则是一些与文件内容本身无关,但为了管理文件或者操作文件所必要的一些信息。比如:文件的大小,文件的权限等等。我们把数据以文件系统规定的方式存储在规定的地方(此内容在具体介绍文件系统时再深入了解),把元数据存储在一个叫做inode的局域。全称index node(索引节点)。inode也保存的元数据中包含了文件数据的位置。这也是系统能通过inode号找到文件的原因。

前文已经提到我们我们所能看到的文件名只是为了方便我们自己,而linux系统内部是不使用文件名,是使用inode号码来识别文件的。我们把文件保存在目录中。目录文件的结构非常简单,就是一系列项的列表。每个目录项,由两部分组成:所包含文件的文件名,以及该文件名对应的inode号码。一定得明白目录的本质。这样才有利于明白后面目录的读,写,执行权限。现在我们就可以好好说道说道,用户通过文件名,打开文件到底发生了什么。实际上,系统内部这个过程分成三步,首先,系统通过目录文件中的对应项,找到这个文件名对应的inode号码;其次,通过inode号码,获取inode信息;最后,根据inode信息,找到文件数据在什么为位置,读取数据。

硬链接:

虽然文件包含了元数据和数据。但是这个两个数据并不是存储在一起的。分别划分两个专门的区域,一个区域(inode)保存元数据,一个区域保存数据。若一个inode号对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件使用了多个别名,即以不同的名字指向了同一个文件。因为inode号只在本分区中唯一,所以硬链接不能跨分区,而且硬链接不能指向一个目录文件。元数据中还保存了文件的硬链接个数,当我们删除一个硬链接时,文件的硬链接个数就减一,当硬链接个数为零时,这个文件所占有的空间就会释放。文件释放也仅仅是没有了指向数据的链接。数据本身依然还存在于磁盘中。所以我们一般删除文件的操作只是删除一个指向文件的链接而已。

软连接:

硬链接有自身的限制,比如;不能跨分区创建,不能对目录创建。而软链接则天生没有这样的问题,软连接是一个单独的文件有不同于被链接文件的inode号,而且软连接指向的不是文件的数据,而只是指向文件名,它并不关心文件的内容是什么。所以软连接会存在无效链接的情况,就是找不到被链接的文件。因为inode是占磁盘空间的,所以软连接文件本身也是有文件大小的并且会占用一个inode号,inode号本身也是有限资源。

软连接与硬链接区别

原创文章,作者:M21-陕西-李贤,如若转载,请注明出处:http://www.178linux.com/52950

(1)
M21-陕西-李贤M21-陕西-李贤
上一篇 2016-10-31
下一篇 2016-10-31

相关推荐

  • 实现软RAID0的方法

    实验利用三个分区分别为10G组成一个RAID0 分区时要注意ID的转换 创建RAID的设备名称为md0 通过mdadm -D /dev/md0可以查看md0的信息 创建配置文件: mdadm -Ds > /etc/mdadm.conf(为了系统启动时自动加载) 给RIAD0创建文件系统: 创建挂载目录mkdir /mnt/raid0 挂载: 同步: m…

    2017-12-11
  • Linux基础之—基础权限和特殊权限以及FACL权限管理

    Linux是多用户多任务的操作系统,了解掌握Linux的权限分配机制,也是管理Linux系统安全的基础之一。 文件目录的权限格式如下:   1.其中权限位可以看对象到是一个9个占位符,其实分为三位一组: (1) 第一组:对应的是文件或目录的所有者属主权限。owner (2) 第二组:对应的是文件或目录的所属组权限。group (3) 第三组:对应的…

    Linux干货 2016-08-07
  • linux 下的文件压缩与解压

    文件压缩 压缩原理:把文件的二进制代码压缩,把相邻的0,1代码减少,比如有000000,可以把它变成6个0 的写法60,来减少该文件的空间。 目的:时间换空间,cpu时间–>空间 压缩文件工具:    compress|uncompress 压缩后的文件.z    gzip|gunzip  …

    Linux干货 2016-08-21
  • linux文本处理工具

    linux文本处理工具 1.Linux 文件系统上的特殊权限: SUID     SGID   Sticky       进程的安全上下文:(1)任何一个可执行程序文件能不能启动为进程,取决发起者对程序文件是否拥有执行去权限       &…

    Linux干货 2017-02-25
  • linux系统从windows xp上同步时间

    最近公司客户的调度系统GPS天文时钟出现故障,导致整个调度系统失去时间源,时间积累误差达十几分钟。去现场更换时钟很不方便,所有就想用现场的一台win xp(可上网)的远程机器做NTPserver,然后给linux系统对时。上网查了好多资料,终于找到了一个有效的解决方案,具体内容和步骤如下:首先下载一个Windows下的NTP服务软件。这个软件可以搭建wind…

    Linux干货 2015-03-27