软链接和硬链接详解

    • 软连接和硬链接图解

    • 硬链接

    • 符号链接

    • 软链接和硬链接详解

软链接和硬链接详解

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
下一篇 2016-09-06

相关推荐

  • 计算机相关简介和linux相关简介

    一、计算机相关简介与linux的一些概念 计算机系统 由硬件(Hardware)系统和软件(Software)系统两大部分构成: 硬件系统 :CPU(控制器、运算器),内存储器(RAM、ROM),外存储器(硬盘等),输入设备(键盘、鼠标等),输出设备(显示器等),其他设备相关设备。  软件系统 :系统软件(操作系统,数…

    Linux干货 2017-02-18
  • 分区管理和文件系统

    管理分区:        lsblk           列出块设备        fdisk          创建MBR 分区      &nbs…

    Linux干货 2017-03-11
  • 网络接口Bonding以及网络组

    网络接口Bonding就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。 网络组 :网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量。网络组不同于旧版中bonding技术,提供更好的性能…

    Linux干货 2016-11-23
  • linux文件管理类命令

    stat、alias、xargs命令使用;(非)字母,(非)数字的表示方法。

    2017-12-11
  • Linux之文件管理及范例

    1、Linux上的文件管理命令   目录管理类命令:mkdir,rmdir    mkdir [OPTION]… DIRECTORY…     -p: 自动按需创建父目录;     -v: verbose,显示…

    Linux干货 2016-09-27
  • ngx_http_proxy_module

    ngx_http_proxy_module 1.proxy_pass Syntax: proxy_pass URL; Context: location, if in location, limit_except 这条指令将来是用的相当多的指令。 v  附加1:proxy_pass后面的路径不带uri时,其会将loca…

    2016-10-30