【Linux】linux软链接硬链接区别

Linux 软连接(符号链接)与硬链接 完整对比+实操示例

一、核心区别

  • 硬链接(hard link)

    是文件的多个别名 ,与原文件共用同一个 inode 索引节点,本质就是同一个文件。

  • 软连接(symbolic link)

    相当于快捷方式,是独立小文件,只存原文件路径,有自己独立的 inode。

二、详细对比

对比项 硬链接 软连接
本质 同一文件的多个入口 指向原文件的快捷方式
独立文件 否,共用 inode 是,拥有独立 inode
跨分区/磁盘 ❌ 不支持 ✅ 支持
链接目录 ❌ 系统禁止 ✅ 支持
原文件删除后 链接仍可用,数据不丢失 链接失效,变成坏链接
相对/绝对路径 不依赖路径 支持两种路径
占用空间 几乎不占 仅存路径字符串大小

三、通俗理解

  • 硬链接:一本书贴了多个书名标签,撕掉一个标签,书本身还在。
  • 软连接:一张写着"文件在哪"的纸条,原文件没了,纸条就失效。

四、实操命令+测试示例

1. 创建测试文件

bash 复制代码
echo "test link" > test.txt

2. 创建硬链接

bash 复制代码
# 格式:ln 原文件 链接名
ln test.txt hard_link.txt

3. 创建软连接

bash 复制代码
# 格式:ln -s 原文件 链接名
ln -s test.txt soft_link.txt

4. 查看 inode(验证是否共用)

bash 复制代码
ls -i test.txt hard_link.txt soft_link.txt
  • test.txthard_link.txt inode 号相同
  • soft_link.txt inode 号不同

5. 删除原文件,观察效果

bash 复制代码
rm -f test.txt
  • 查看硬链接 :内容正常,文件依然存在

    bash 复制代码
    cat hard_link.txt
  • 查看软连接 :提示不存在,链接失效

    bash 复制代码
    cat soft_link.txt
    # 报错:No such file or directory
相关推荐
戴为沐1 天前
Linux内存扩容指南
linux
zylyehuo1 天前
Linux 彻底且安全地删除文件
linux
用户805533698032 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297912 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF2 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者4 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo4 天前
Linux系统中网线与USB网络共享冲突
linux
荣--4 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森4 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜5 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https