Linux 硬链接
在 Linux 系统中,文件的存储与管理是通过链接来实现的。硬链接是其中一种重要的链接类型,本文将详细介绍硬链接的概念、创建方法及其应用场景。
什么是硬链接?
硬链接是指向文件系统中某个文件数据块的直接引用。通过硬链接,多个文件名可以指向同一个数据块,即使一个文件被删除,其他指向相同数据块的硬链接仍然存在并可以访问数据。这意味着硬链接并不创建文件的副本,而是创建了一个新的目录项。
硬链接的特点
- 共享数据:多个文件名共享同一个数据块,节省存储空间。
- 不支持跨文件系统:硬链接只能在同一个文件系统中创建,无法链接到其他文件系统的文件。
- 目录不能创建硬链接:为了防止循环引用,通常不允许为目录创建硬链接(只有超级用户可以)。
- 引用计数:每个文件在文件系统中都有一个引用计数,表示有多少个硬链接指向该文件。当引用计数减为零时,文件数据才会被实际删除。
示例
- 创建一个名为
file1.txt的文件:
1 | echo "Hello, Linux!" > file1.txt |
- 创建一个硬链接
file2.txt:
1 | ln file1.txt file2.txt |
- 检查链接:
1 | ls -l |
实际应用
之前有朋友问我,威联通的外部设备如何做共享,想在外部设备里面存电影,挂载到emby上,但是由于外置在威联通系统里压根就没法共享,导致无法在emby里引用出来。
说到这很多朋友大概能明白了,可以直接在可以引用的目录里创建一个硬链接,让程序访问这个硬链接即可。
说白了,linux下的硬链接有点类似于windows上的快捷方式。