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