前言
在学习了硬链接和软链接之后,我们知道了软链接是可以作为快捷方式使用的,那么硬链接有什么用呢?
一、什么是硬链接
指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬链接。
(1) 硬链接,以文件副本的形式存在。但不占用实际空间。
(2) 不允许给目录创建硬链接。
(3) 硬链接只有在同一个文件系统中才能创建。
(4) 删除其中一个硬链接文件并不影响其他有相同inode号的文件。
二、如何实现硬链接
命令 ln
下面我创建了一个myfile的文件,往里面写入了一些数据。
并指定它硬链接到本目录下的myfile.hard。
查看myfile.hard,可以发现内容与myfile一致。
使用 ls -il 命令,可查看到两个文件的inode是一样的,由此可见硬链接与目标文件是同一文件。
三、硬链接的使用场景
硬链接可以实现跳转到上级目录
下面我创建了一个mydir的目录,进入到目录中,可以发现有.和…两个隐藏文件。
我们都知道 . 是当前路径, . . 是上级目录,那么是为什么呢?
返回到上级目录,可以观察到blog目录中mydir的inode与mydir中 . 文件的inode相同,
其实这里的 . 就是mydir的硬链接。
我们还可以观察到一个现象,mydir中 . . 的inode与blog中 . 的inode相同,
表明 . . 是blog的硬链接,也就是上级目录
通过使用 . . 即可进行上级目录的操作,而不必使用上级目录的绝对路径
总结
硬链接可以实现跳转到上级目录等等一些功能,实现相对路径的一些功能,但在我们自己编程当中使用的较少。