下面是Linux系统软件底层的存储结构,我们将从底层上来去解释Linux系统下的软硬连接文件
<一>: 解释(底层)
硬链接,其实从底层数据上来看, 硬链接其实就是增加了一个目录项。底层对应的inode table、数据区中的值是不变的, 也不会重新创建。
软链接, 其实从底层接上看, 软链接其实就是相当于重新创建了一个文件,, 无论是目录项,inode table,以及数据区都是重新重建的,而这个文件功能比较特殊, 它是用来指向另外一个文件的。
<二>:命令的使用
硬链接命令:
ln 用来创建链接 link英文单词的缩写
ln 默认添加的就是硬链接
ln 文件名 链接名
创建3个硬链接,3个硬链接的底层的id号是一样的, 所以这三个文件指向的inode号表示一样的, 创建的文件其实只是在目录项中添加一项。
软链接命令:
ln -s 文件名 链接名 // 只需要加一个 -s 选项
创建2个软链接,2个软链接的底层的id号是不一样的,所以这两个文件底层的对应inode表以及数据块区都是不同的。
软链接和硬链接的区别
硬链接是不允许跨文件系统建立的
软连接是可以跨文件系统建立的
硬链接是不允许给目录文件建立
软链接是允许给目录文件建立
软链接和硬链接的注意事项:
在建立软链接的时候, 有一个相对的路径的问题
ln -s 原始文件的相对路径(相对于软链接文件的路径) 软链接文件
ln -s 文件名 连接名
如果这里的文件名是相对路径的时候, 这里相对的是链接名所在的目录, 所以你要根据链接名所在的目录, 来重新写文件名所在的路径。
为了防止建立软链接时出错, 文件名要写成绝对路径。这样肯定就错不了。
时间: 2024-10-19 06:47:33