Files
8butubb.github.io/content/posts/Linux 硬链接.md
T

50 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Linux 硬链接
tags: ["linux"]
date: 2024-12-04
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上的快捷方式。