Linux系统核心特性-软硬链接

目录

先搞懂核心前提:inode 是什么

一、硬链接 Hard Link:同一个文件的多个名字

通俗理解

核心特性

创建命令

二、软链接 Soft Link / Symbolic Link:系统快捷方式

通俗理解

核心特性

创建命令

三、软硬链接的区别

四、常见使用场景

硬链接适用

软链接适用

五、高频面试题一句话答案

六、快速记忆口诀

总结


很多刚接触 Linux 的同学都会被硬链接、软链接绕晕,其实它们本质就是文件系统的两种 “引用方式”,一个像文件分身,一个像快捷方式

这篇文章用最通俗的语言 + 可直接运行的命令,把软硬链接讲透。


先搞懂核心前提:inode 是什么

Linux 里,文件真正的身份不是文件名,而是 inode(索引节点)

  • inode 存文件大小、权限、磁盘位置等元数据
  • 文件名只是目录里的一个 “标签”,指向 inode
  • ls -i 可以查看文件 inode 号

一句话:文件名 → inode → 真实数据块


一、硬链接 Hard Link:同一个文件的多个名字

通俗理解

给文件起别名,多个名字指向同一个 inode、同一份数据,类似于指针。就像一间房子有多个门牌号,开任何一扇门进的都是同一间屋。

核心特性

  • 与原文件共享同一个 inode
  • 不占用额外磁盘空间(只多一个目录项)
  • 不能跨分区 / 文件系统
  • 不能给目录创建硬链接
  • 删除原文件,硬链接依然可用,直到所有链接都删除,数据才真正释放

创建命令

# 语法
ln 原文件 硬链接名

lzy@VM-8-7-ubuntu:~/test/test$ touch test.txt
lzy@VM-8-7-ubuntu:~/test/test$ ln test.txt hard-link
lzy@VM-8-7-ubuntu:~/test/test$ ls -li
total 0
1055060 -rw-rw-r-- 2 lzy lzy 0 Apr 13 18:50 hard-link
1055060 -rw-rw-r-- 2 lzy lzy 0 Apr 13 18:50 test.txt
lzy@VM-8-7-ubuntu:~/test/test$ 


二、软链接 Soft Link / Symbolic Link:系统快捷方式

通俗理解

Windows 桌面快捷方式,是一个独立小文件,里面只存目标路径。相当于一张纸条,写着 “去 xxx 找文件”。

核心特性

  • 独立 inode,本身是特殊文件
  • 可以跨文件系统、跨分区
  • 可以链接目录
  • 原文件删除 / 移动后,软链接变 “死链”,打不开
  • 大小固定,只存路径字符串长度

创建命令

# 语法
ln -s 原文件/目录 软链接名

# 示例
lzy@VM-8-7-ubuntu:~/test/test$ touch test.txt
lzy@VM-8-7-ubuntu:~/test/test$ ln -s test.txt soft-link
lzy@VM-8-7-ubuntu:~/test/test$ ls -li
total 0
1055063 lrwxrwxrwx 1 lzy lzy 8 Apr 13 18:54 soft-link -> test.txt
1055062 -rw-rw-r-- 1 lzy lzy 0 Apr 13 18:54 test.txt


三、软硬链接的区别

对比项硬链接 Hard Link软链接 Symbolic Link
本质文件别名,共享 inode独立文件,存目标路径
inode与原文件相同独立新 inode
能否跨分区不能
能否链接目录不能
原文件删除链接可用,数据不丢变成死链,无法访问
占用空间几乎为 0仅路径字符串大小
适用对象普通文件文件、目录均可

四、常见使用场景

硬链接适用

  • 防止误删重要文件(多一份入口)
  • 同一文件多处引用,节省磁盘空间
  • 日志、备份文件防丢失

软链接适用

  • 程序版本切换(如 node -> node-v20
  • 跨目录快捷访问
  • 给目录做快捷入口
  • 跨分区 / 磁盘引用文件

五、高频面试题一句话答案

  1. 删除原文件,软硬链接会怎样?硬链接:正常访问,数据还在;软链接:失效变红。

  2. 为什么硬链接不能跨分区?inode 是分区内唯一,跨分区 inode 重复,无法识别。

  3. 为什么硬链接不能给目录用?会造成目录循环引用,破坏文件系统结构。


六、快速记忆口诀

  • 硬链接:同 inode、同数据、不跨区、不目录、删原文件不影响
  • 软链接:快捷方式、独立 inode、跨区、可目录、原文件丢就失效

总结

  • 安全共享、防误删 → 用硬链接
  • 快捷访问、跨分区、链目录 → 用软链接

只要记住:硬链接是分身,软链接是快捷方式,永远不会混淆。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值