Linux软连接和硬连接文件

下面是Linux系统软件底层的存储结构,咱们将从底层上来去解释Linux系统下的软硬链接文件node

wKiom1edrt6B6rLdAAD9fsgEwXs119.png

<一>: 解释(底层)
ide

硬连接,其实从底层数据上来看, 硬连接其实就是增长了一个目录项。底层对应的inode table、数据区中的值是不变的, 也不会从新建立。spa

软连接, 其实从底层接上看, 软连接其实就是至关于从新建立了一个文件,, 不管是目录项,inode table,以及数据区都是从新重建的,而这个文件功能比较特殊, 它是用来指向另一个文件的。blog

<二>:命令的使用图片

硬连接命令:get

ln    用来建立连接  link英文单词的缩写it

ln  默认添加的就是硬连接io

ln 文件名 连接名table

wKiom1edsQ2D7uUjAAA_J938Z38307.png

建立3个硬连接,3个硬连接的底层的id号是同样的, 因此这三个文件指向的inode号表示同样的, 建立的文件其实只是在目录项中添加一项。class


软连接命令:

ln -s 文件名  连接名  //  只须要加一个 -s 选项

wKiom1edsnixhIxGAABJ6rpIM9U947.png

建立2个软连接,2个软连接的底层的id号是不同的,因此这两个文件底层的对应inode表以及数据块区都是不一样的。


软连接和硬连接的区别

硬连接是不容许跨文件系统创建的

软链接是能够跨文件系统创建的

硬连接是不容许给目录文件创建

软连接是容许给目录文件创建


软连接和硬连接的注意事项:

在创建软连接的时候, 有一个相对的路径的问题

ln -s 原始文件的相对路径(相对于软连接文件的路径) 软连接文件

ln -s 文件名  链接名

若是这里的文件名是相对路径的时候, 这里相对的是连接名所在的目录, 因此你要根据连接名所在的目录, 来从新写文件名所在的路径。

为了防止创建软连接时出错, 文件名要写成绝对路径。这样确定就错不了。

相关文章
相关标签/搜索