软链接和硬链接详解

    • 软连接和硬链接图解

    • 硬链接

    • 符号链接

    • 软链接和硬链接详解

软链接和硬链接详解

Linux下的链接文件有点类似于Windows的快捷方式,但又不完全一样。链接文件有两种:一种是硬链接,另一种是符号链接(又称软链接)。

UNIX文件系统提供了一种将不同文件链接至同一个文件的机制,我们称这种机制为链接。它可以使得单个程序对同一文件使用不同的名字。这样的好处是文件系统只存在一个文件的副本,系统简单地通过在目录中建立一个新的登记项来实现这种连接。

软连接和硬链接图解

QQ截图20160905030801.png

硬链接

硬链接是通过索引节点进行的链接。 该登记项具有一个新的文件名和要连接文件的inode 号,文件的目录登记项就是所谓的文件硬链接(硬链接,目录登记项: 文件名‐‐>文件的inode;文件名可以有多个,但文件inode 只是一个)。不论一个文件有多少硬链接,在磁盘上只有一个描述它的inode, 只要该文件的链接数不为0,该文件就保持存在。硬链接不能跨越文件系统,为避免无限递归,一般也不能在目录上建立hard link。 硬连接是直接建立在节点表上的(inode),建立硬连接指向一个文件的时候,会更新节点表上面的计数值。举个例子,一个文件被连接了两次(硬连接),这个文件的计数值是3,而无论通过3个文件名中的任何一个访问,效果都是完全一样的,但是如果删除其中任意一个,都只是把计数值减1,不会删除实际的内容的,(任何存在的 文件本身就算是一个硬连接)只有计数值变成0也就是没有任何硬连接指向的时候才会真实的删除内容。对任何一个硬链接文件修改,都会对原文件进行修改。

硬链接可由命令 link 或 ln 创建,如:

link oldfile newfile 
ln oldfile newfile

符号链接

软链接(也叫符号链接)它是指向另一个文件的特殊文件,这种文件的数据部分仅包含它所要链接文件的路径名。软链接是为了克服硬链接的不足而引入的,软链接不直接使用inode 号作为文件指针,而是使用文件路径名作为指针(软链接:文件名+数据部分‐‐>目标文件的路径名)。软件有自己的inode,并在磁盘上有一小片空间存放路径名。因此,软链接能够跨文件系统,也可以和目录链接; 其二,软链接可以对一个不存在的文件名进行链接,但直到这个名字对应的文件被创建后,才能打开其链接。当软链接指向的文件删除重命名或移动后,软链接并不会发生更新,会维持原来的值不变。

例如某个文件文件系统空间已经用完了,但是现在必须在该文件系统下创建一个新的目录并存储大量的文件,那么可以把另一个剩余空间较多的文件系统中的目录链接到该文件系统中,这样就可以很好的解决空间不足问题。删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接就变成了死链接。

使用-s选项的ln命令即可创建符号链接,命令如下:

ln -s old.file soft.link
ln -s old.dir soft.link.dir

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

(1)
M20_heM20_he
上一篇 2016-09-06 08:51
下一篇 2016-09-06 08:51

相关推荐

  • BT雷人的程序语言

    这个世界从来都不会缺少另类的东西,人类自然世界如此,计算机世界也一样。编程语言方面,看过本站《6个变态的C语言Hello World程序》的朋友们一定对BT和另类不会陌生,但那都是些小儿科,真正的BT和另类要是从语言级上来完成。让我们来看看其中一个比较另类的语言BrainFuck。看到这个程序语言的名字,请不要以为这是一个搞笑的语言,这是一个“严肃事情”,请…

    Linux干货 2015-04-03
  • LVS DR模型演示

    LVS DR模型演示 环境介绍: Directory     DIP eth0    10.1.249.158     VIP eth0:0  10.1.249.111 rs1  &nbsp…

    2016-10-30
  • 马哥教育网络班19期第一周课程练习

    1、描述计算机的组成及其功能。 从大体上计算机是由cpu、内存、主板、I/O设备、存储设备组成 cpu的功能就好像人的大脑,控制身体的。严格意义上是用来解释计算机指令以及处理软件中的数据的。 内存的功能就好像人的大脑记忆区、来存放眼睛看到的世界。严格意义上是用于暂时存放cpu中的运算数据,以及与硬盘等外部存储器交换的数据 主板的功能就好像人的身体,来链接身体…

    Linux干货 2016-06-18
  • 第六周作业

    博客具体内容请移步博客园:http://www.cnblogs.com/wangenzhi/p/6295141.html

    Linux干货 2017-01-17
  • RAID详解

    1、什么是RAID RAID:独立硬盘冗余阵列,旧称廉价磁盘冗余阵列,简称磁盘阵列。其基本思想就是将多个相对便宜的硬盘结合起来,成为一个磁盘阵列,是性能达到甚至超过一个昂贵、容量巨大的硬盘,根据选择的版本不同,RAID比单颗硬盘有以下一个或多个方面的好处:增强数据集成度,增强容错功能,增加处理量或容量。目前应用较多的有RAID0,RAID1,RAID4,RA…

    Linux干货 2017-01-03
  • 推荐-DNS BIND初探

    DNS BIND DNS BIND 正向解析 反向解析 从服务器 子域授权 转发 view DNS 什么是DNS? DNS是domain name system,域名系统的简写,负责实现域名与IP的转换。 DNS的功能是什么? DNS能够将IP地址与域名相互双向转换,能够实现域名访问。 DNS的历史:  1. 初期网络…

    2016-04-19