当前位置: 首页 > java >正文

理解硬链接和软链接:原理与实践

在 Linux 或 Unix 系统中,文件链接是一种非常有用的功能,主要分为硬链接(Hard Link)和软链接(Soft Link,也叫符号链接 Symbolic Link)。它们在文件系统管理、备份、共享等方面都起着重要作用。

一、什么是链接

简单来说,链接就是对文件的引用。

  • 硬链接是对文件在磁盘中**inode(索引节点)**的直接引用。
  • 软链接是一个指向路径的文件,就像是快捷方式。

二、硬链接

特点:

1、硬链接文件和原始文件共享相同的 inode。
2、删除任意一个不会影响另一个,只有所有硬链接被删除,文件数据才会被释放。
3、不能跨文件系统创建,也不能给目录创建(一般受限以避免形成循环)。

举例:

# 创建一个文件
echo "Hello World" > file1.txt# 创建一个硬链接
ln file1.txt file1_hard.txt# 查看 inode
ls -li file1.txt file1_hard.txt

输出可能为:

123456 -rw-r--r-- 2 user user 12 Sep  1 10:00 file1.txt
123456 -rw-r--r-- 2 user user 12 Sep  1 10:00 file1_hard.txt

注意它们的 inode 相同,说明引用的是同一个文件内容。

三、软链接

特点:

1、是一个独立的文件,包含原始文件的路径。
2、删除原文件,软链接将失效(变成“悬挂链接”)。
3、可以跨文件系统和对目录创建。

举例:

# 创建一个软链接
ln -s file1.txt file1_soft.txt# 查看软链接
ls -l file1_soft.txt

输出为:

lrwxrwxrwx 1 user user 10 Sep  1 10:00 file1_soft.txt -> file1.txt

四:总结

对比项硬链接(Hard Link)软链接(Soft Link)
是否有独立 inode❌(与源文件共享 inode)✅(有自己的 inode)
文件系统限制❌ 不能跨文件系统✅ 可以跨文件系统
删除原文件影响❌ 无影响,内容仍可访问✅ 链接失效(悬挂链接)
可否指向目录❌ 通常不允许✅ 可以指向目录
本质文件的另一个名字包含路径的文件(快捷方式)
http://www.xdnf.cn/news/7237.html

相关文章:

  • 教学网站1:《软件工程》精品课程教学网站的设计与实现(摘要和目录)
  • PLC双人舞:profinet转ethernet ip网关奏响施耐德与AB的协奏曲
  • MYSQL笔记
  • virtual下Ubuntu24.04版本上配置网络与外网和宿主机之间互通
  • iOS 蓝牙开发中的 BT 与 BLE
  • 2025毕业论文与答辩资料精选汇总
  • 32、跨平台咒语—— React Native初探
  • 已知6、7、8月月平均气温和标准差,求夏季季平均温度与标准差
  • 算法题(150):拼数
  • FreeMarker
  • 【实战】GPT-SoVITS+内网穿透:3分钟搭建可公网访问的语音克隆系统
  • 【python基础知识】Day30 模块和库的导入
  • 数据结构实验10.1:内部排序的基本运算
  • 【android bluetooth 协议分析 01】【HCI 层介绍 9】【ReadLocalSupportedCommands命令介绍】
  • 没有保安工作经验,如何备考初级保安员证的实操考试?
  • 数据分析入门指南:从历史到实践
  • 物联网之使用Vertx实现HTTP/WebSocket最佳实践
  • 精益数据分析(69/126):最小可行化产品(MVP)的设计、验证与数据驱动迭代
  • Android framework 问题记录
  • Ubuntu开机自启服务
  • 【数据仓库面试题合集③】实时数仓建模思路与实践详解
  • InternLM 论文分类微调实践(XTuner 版)
  • Java设计模式之外观模式:从入门到精通(保姆级教程)
  • 基于Elasticsearch的搜索引擎简介
  • 【Android】一键创建Keystore + Keystore 参数说明 + 查询SHA256(JDK Keytool Keystore)
  • 【神经网络与深度学习】GAN 生成对抗训练模型在实际训练中很容易判别器收敛,生成器发散
  • 【物联网】 ubantu20.04 搭建L2TP服务器
  • 电脑安装程序报错写入注册表失败
  • 基于51单片机教室红外计数灯光控制—可蓝牙控制
  • 为什么wifi有信号却连接不上?