Linux 软硬连接详解

目录

[一、软链接(Symbolic Link)](#一、软链接(Symbolic Link))

‌定义与特性

[‌实现方法‌使用 ln -s 命令:](#‌实现方法‌使用 ln -s 命令:)

[二、硬链接(Hard Link)](#二、硬链接(Hard Link))

1、是什么

2、工作机制

3、实现方式


一、软链接(Symbolic Link)

‌定义与特性

  1. 定义:软链接是一个独立的文件,拥有自己的 inode 和属性,其内容存储目标文件/目录的路径字符串,类似于 Windows 的快捷方式。

  2. 特性

    • 可跨文件系统或分区创建。
    • 删除目标文件后,软链接将失效(类似"断链")。
    • 支持对目录创建软链接。

‌实现方法 ‌

使用 ln -s 命令:

复制代码
# 创建指向文件或目录的软链接
ln -s <目标路径> <软链接名称>

二、硬链接(Hard Link)

1、是什么

硬链接本质是 ‌同一个文件实体在文件系统中的多入口映射‌。通过硬链接创建的新文件名与原始文件共享相同的 inode(索引节点)和数据块,相当于给同一份数据赋予了多个访问别名。

2、工作机制

  1. ‌inode 共享机制 ‌

    所有硬链接文件与原始文件共用同一个 inode 编号,操作系统通过 inode 直接定位磁盘数据。新增硬链接时仅增加 inode 的 ‌硬链接计数 ‌(可通过 ls -l 第二列查看)。

  2. ‌数据一致性 ‌

    任意硬链接文件的修改都会同步到所有关联文件(包括原始文件),因为它们本质是同一物理数据的不同访问路径。

  3. ‌删除逻辑特殊性‌

    • 删除任一硬链接仅减少 inode 的链接计数,‌只有当链接计数归零时‌,系统才会真正释放磁盘空间
    • 这意味着即使删除原始文件名,只要存在其他硬链接,文件内容仍可通过剩余链接访问

3、实现方式

复制代码
# 创建硬链接
ln <目标文件> <硬链接名称>

软硬连接讲解到此,如还有不理解,可以看看前面 inode 的讲解

相关推荐
by209993 分钟前
Linux 软件安装与 Vim 编辑
linux·经验分享·vim
CQU_JIAKE7 分钟前
10.28【A】
linux·运维·网络
爱和冰阔落10 分钟前
【Linux网络】Socket 编程前要搞懂什么?从 IP、端口到字节序与 sockaddr,一次理清网络通信基础
linux·运维·网络·tcp/ip
晚风叙码26 分钟前
Linux 进程概念(上):从冯诺依曼到进程调度
linux·运维·计算机外设
Z21-X36 分钟前
云原生运维笔记:硬核拆解OpenStack计算与存储——从主机聚合到Cinder挂载全流程
运维·笔记·学习·云原生·openstack
邪修king40 分钟前
Re:Linux系统篇(三十八):进程间通信ChapterSystem V 信号量深度解析|同步互斥、内核源码、C 指针多态、实战代码
java·linux·c语言
开开心心就好41 分钟前
电脑语音实时转文字工具,会议记录很省事
运维·服务器·前端·c#·ocr·perl·1024程序员节
坤坤子吖41 分钟前
Linux网络编程基础:从 MAC 到 IP,理解网络数据是怎么传输的
linux·网络·笔记·学习
波力海苔夹心脆6751 小时前
C# 固高 GTS 运动控制卡入门:伺服上下电、Jog 点动与二维插补(WinForms 实战)
服务器·开发语言·c#·运动控制·伺服电机·winforms·固高
一只鹿鹿鹿1 小时前
医院绩效管理体系方案
大数据·运维·安全·web安全·制造