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 的讲解

相关推荐
Mr.45673 分钟前
Linux&Windows环境下Nacos3.1.0详细安装配置指南:从零到生产就绪
linux·运维·服务器
王道长服务器 | 亚马逊云7 分钟前
AWS Route 53 详解:不只是 DNS,还能做智能流量调度
服务器·网络·微服务·云原生·架构·云计算·aws
Lxinccode43 分钟前
python(42) : 监听本地文件夹上传到服务器指定目录
服务器·开发语言·python·文件上传服务器·监听文件上传服务器
峰顶听歌的鲸鱼1 小时前
30.Linux DHCP 服务器
linux·运维·服务器·笔记·学习方法
退役小学生呀1 小时前
二十一、DevOps:从零建设基于K8s的DevOps平台(二)
运维·docker·云原生·容器·kubernetes·devops
微风中的麦穗1 小时前
【MD编辑器Typora】Typora最新 V1.12.1版:轻量级 Markdown 编辑器详细图文下载安装使用指南 【办公学习神器之MD文本编辑器】
运维·typora·开发工具·md编辑器·markdown 编辑器·markdown文件·办公学习工具
Lzc7741 小时前
Linux的网络基础
linux·linux的网络基础
violet-lz1 小时前
Linux文件系统调用:文件调用函数与exec系统函数详解与应用
linux·运维·服务器
aesthetician2 小时前
@tanstack/react-query:React 服务器状态管理与数据同步解决方案
服务器·前端·react.js
学习同学2 小时前
从0到1制作一个go语言服务器 (一) 配置
服务器·开发语言·golang