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

Linux 软硬连接详解

目录

一、软链接(Symbolic Link)

‌定义与特性

‌实现方法‌使用 ln -s 命令:

二、硬链接(Hard Link)

1、是什么

 2、工作机制

3、实现方式 


一、软链接(Symbolic Link)

  1. 定义与特性

  2. 定义:软链接是一个独立的文件,拥有自己的 inode 和属性,其内容存储目标文件/目录的路径字符串,类似于 Windows 的快捷方式。

  3. 特性

    • 可跨文件系统或分区创建。
    • 删除目标文件后,软链接将失效(类似“断链”)。
    • 支持对目录创建软链接。
  4. 实现方法
    使用 ln -s 命令:

# 创建指向文件或目录的软链接
ln -s <目标路径> <软链接名称>

二、硬链接(Hard Link)

1、是什么

硬链接本质是 ‌同一个文件实体在文件系统中的多入口映射‌。通过硬链接创建的新文件名与原始文件共享相同的 inode(索引节点)和数据块,相当于给同一份数据赋予了多个访问别名。 

 2、工作机制

  1. inode 共享机制
    所有硬链接文件与原始文件共用同一个 inode 编号,操作系统通过 inode 直接定位磁盘数据。新增硬链接时仅增加 inode 的 ‌硬链接计数‌(可通过 ls -l 第二列查看)。

  2. 数据一致性
    任意硬链接文件的修改都会同步到所有关联文件(包括原始文件),因为它们本质是同一物理数据的不同访问路径。

  3. 删除逻辑特殊性

    • 删除任一硬链接仅减少 inode 的链接计数,‌只有当链接计数归零时‌,系统才会真正释放磁盘空间
    • 这意味着即使删除原始文件名,只要存在其他硬链接,文件内容仍可通过剩余链接访问

3、实现方式 

# 创建硬链接
ln <目标文件> <硬链接名称>

 

--------------------------------------------------------------------------------------------------------------------------------

软硬连接讲解到此,如还有不理解,可以看看前面 inode 的讲解

http://www.dtcms.com/a/187248.html

相关文章:

  • 如何配置本机host文件
  • 学习笔记:黑马程序员JavaWeb开发教程(2025.4.3)
  • phpstorm2024.3 设置中文
  • 国产大模型「五强争霸」:决战AGI,谁主沉浮?
  • Go 语言即时通讯系统开发日志-day1:从简单消息收发 Demo 起步
  • Python-AI调用大模型 给出大模型人格案例
  • java反序列化commons-collections链1
  • 魔搭社区(modelscope)和huggingface下载模型到本地的方法
  • 基于STM32、HAL库的ICP-20100气压传感器 驱动程序设计
  • 从 JIT 即时编译一直讲到CGI|FastGGI|WSGI|ASGI四种协议的实现细节
  • spdlog日志格式化 标志全指南
  • GPT系列:自然语言处理的演进与多模态的探索
  • 从规划到完善,原型标注图全流程设计
  • 2025年渗透测试面试题总结-渗透测试红队面试八(题目+回答)
  • Spring Boot 参数验证
  • MySQL性能调优探秘:我的实战笔记 (下篇:深入内核、锁与监控)
  • 基于STM32、HAL库的BME680气压传感器 驱动程序设计
  • 【题解-洛谷】B3881 [信息与未来 2015] 拴奶牛
  • 免费Office图片音频高效提取利器
  • Autoregressive Distillation of Diffusion Transformers
  • (自用)Java学习-5.8(总结,springboot)
  • css 点击后改变样式
  • SAGAR线上网页程序生成准随机结构(SQS)
  • Vue学习百日计划-Deepseek版
  • CRM和SCRM有什么区别
  • 【HTOP 使用指南】:如何理解主从线程?(以 Faster-LIO 为例)
  • 接口出现 请求参数格式错误 的解决方法
  • 02.Golang 切片(slice)源码分析(一、定义与基础操作实现)
  • 流体力学绪论(期末复习)
  • LVGL(线条控件lv_line)