【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
相关推荐
常乐か3 小时前
VMware Workstation Pro 17 搭建 Ubuntu 24.04 完整指南
linux·运维·ubuntu
2401_858286114 小时前
OS82.【Linux】设计线程池
java·linux·运维·服务器·开发语言·算法·线程池
leisoo80974 小时前
涨停板封板质量打分系统实战:基于本地逐笔数据的Python实现
linux·服务器·python
@yanyu6664 小时前
kali note
linux·运维·服务器
2401_894915534 小时前
Geo 优化源码部署常见报错排查:连接失败、地图加载、地域词失效解决方案
服务器·开发语言·python·安全·php
码农小韩4 小时前
Linux操作系统(六)——软件包管理
linux·操作系统·linux驱动·嵌入式软件开发·linux应用
lys079620005 小时前
多台亚马逊云服务器,在同一个网段的办法
运维·服务器
2601_963282775 小时前
极寒场景专网通信技术实践:黑龙江零下 40℃环境数字对讲组网方案落地解析
大数据·运维·数据库
果果燕5 小时前
实习笔记(二)NFS 嵌套挂载问题完整复盘
linux·服务器·网络
g3voip6 小时前
工业防爆电话选型指南:防爆参数、SIP接入与调度系统集成
linux·服务器·网络·信息与通信·ip·pbx