linux软连接、硬连接

一.Linux系统硬连接和软连接
在linux系统中有种文件是连接文件,能够为解决文件的共享使用。连接的方式能够分为两种,一种是硬连接(Hard Link),另外一种是软连接或者也称为符号连接(Symbolic Link)。node

查看bin下面的文件linux

$ cd /bin
$ ls -l

linux软连接、硬连接

上图文件列表中第一列权限位标识第一个字符显示的是文件类型segmentfault

-:为通常文件
d:为目录
l:显示的就是连接文件

直接读取全部的连接,全部的位标识字符位lide

$ cd /bin
$ ls -alR | grep ^l

linux软连接、硬连接

二.软连接硬连接区别
参考网址
Linux 文件被分红两个部分:用户数据 (user data) 与元数据 (metadata)code

用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;
元数据,是文件的附加属性,如文件大小、建立时间、全部者等信息。对象

在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号)才是文件的惟一标识而非文件名。文件名仅是为了方便人们的记忆和使用,系统或程序经过 inode 号寻找正确的文件数据块。blog

linux软连接、硬连接

为解决文件的共享使用,Linux 系统引入了两种连接
硬连接(Hard Link)
软连接(Soft Link),又称符号连接(Symbolic Link)
能够看出
linux软连接、硬连接
硬连接:一个 inode 号对应多个文件名,或者说同一个文件使用了多个别名
软连接:文件用户数据块中存放的内容是另外一文件的路径名的指向,则该文件就是软链接索引

区别
(1)对象不一样
硬连接:只能应用于文件,而不能应用于目录,并且不能跨文件系统(即分区)。get

软连接:能够应用于文件,并且能够应用于目录和可跨文件系统(分区)。
(2)做用原理
硬连接:一个 inode 号对应多个文件名,若是删除其中任何一个文件,另一个文件还能链接数据块,仍是有效的文件,只是对应的inode节点号减小,其它并没有影响。只有inode节点号减小到0,数据块才会被系统回收,即硬连接文件和原文件实际上是同一个文件,只是名字不一样it

软连接:假如说A文件是B文件的软链接文件,则A和B的inode节点号不一样,每建立一个新的软连接,就会有一个新的节点号。而A的数据块中存放的只是B的路径名(能够根据这个找到B的目录项)。A和B之间是“主从”关系,若是B被删除了,A仍然存在(由于两个是不一样的文件),但指向的是一个无效的连接。

二.软连接、硬连接使用
(1)建立方法

软连接(符号连接) ln -s source target
硬连接 (实体连接)ln source target

建立test_link文件夹,并在里面建立 infile文件
linux软连接、硬连接

建立目录A,硬连接不能指向目录
linux软连接、硬连接

软链接能够,如

$ ln -s A infile_name

linux软连接、硬连接

(2)删除方法

linux软连接、硬连接