linux 软链接与硬链接

  1. 硬链接(Hard Link)
    • 定义:硬链接是指通过索引节点(inode)来进行链接。在Linux文件系统中,每个文件都有一个对应的inode,它存储了文件的元数据,如文件的大小、权限、所有者等信息。硬链接实际上是创建了一个新的文件名,它指向与原始文件相同的inode。
    • 特点 :
      • 文件内容相同 :硬链接文件和原始文件的内容是完全相同的,因为它们指向相同的存储区域。例如,如果有一个文件original.txt,创建一个硬链接hard_link.txt后,这两个文件的内容在磁盘上是同一份。
      • inode相同 :通过ls -i命令可以查看文件的inode编号,硬链接文件和原始文件的inode编号是一样的。
      • 删除特性 :只有当所有指向同一个inode的文件名(包括硬链接和原始文件名)都被删除时,文件的数据块才会被释放。例如,有一个文件file1和它的硬链接file2,删除file1后,file2仍然可以正常访问文件内容,因为它们指向相同的inode,文件的数据依然存在于磁盘上。
    • 创建命令 :使用ln命令来创建硬链接。例如,要为文件source.txt创建一个硬链接hard_link.txt,可以使用命令ln source.txt hard_link.txt。
  2. 软链接(Symbolic Link),也叫符号链接
    • 定义:软链接是一种特殊类型的文件,它类似于Windows系统中的快捷方式。软链接文件包含了指向另一个文件或目录的路径信息。
    • 特点 :
      • 文件内容不同 :软链接文件本身的内容是它所指向的目标文件的路径,而不是目标文件的实际内容。例如,一个软链接soft_link.txt指向original.txt,soft_link.txt的内容是original.txt的路径(如/home/user/original.txt)。
      • inode不同:软链接有自己独立的inode,与它所指向的目标文件的inode不同。
      • 删除特性 :如果删除软链接文件,不会影响目标文件。但是如果删除目标文件,软链接将失效,因为它所指向的文件不存在了。例如,有一个软链接symlink指向target文件,删除symlink,target不受影响;但如果删除target,symlink就会变成一个指向不存在文件的链接。
    • 创建命令 :使用ln -s命令来创建软链接。例如,要为文件source.txt创建一个软链接soft_link.txt,可以使用命令ln -s source.txt soft_link.txt。

软链接和硬链接在使用场景上也有所不同。硬链接主要用于在不增加文件实际存储量的情况下,为文件提供多个访问路径,通常用于文件备份或者在同一个文件系统中方便地访问同一个文件。软链接则更灵活,它可以跨越不同的文件系统指向目标文件,并且可以方便地用于创建指向目录的链接,而硬链接不能直接用于目录(在大多数Linux文件系统中,为了防止目录树的循环引用等问题,不允许对目录创建硬链接)。

相关推荐
Android系统攻城狮8 分钟前
Linux FFmpeg深度解析之avcodec_align_dimensions调用流程与实战(二十九)
服务器·linux音视频·音视频进阶·ffmpeg音视频
飞飞传输29 分钟前
飞驰云联文件交换建设方法论:从单点传输到持续治理
大数据·运维·安全
叼烟扛炮1 小时前
Linux 学习笔记(五十六):IO 多路复用初探——select 的“三宗罪”
linux·服务器·数据库·笔记·学习·php
Ruiery1 小时前
Linux 6.6内核内存管理深度解析(十五):CMA 连续内存分配器
linux·运维·服务器
测试界的小码农2 小时前
【Linux 命令实战(01):认识 Linux 终端,从零掌握第一个命令】
linux·运维·服务器
布裘2 小时前
【银河麒麟】重启后时区丢失?排查发现 localtime 被业务程序替换成硬链接
linux·运维·网络
zhikouai3 小时前
把外部助手接进聊天软件的架构分层与参数配置
服务器·网络·php
huainingning3 小时前
锐捷10.X路由器版本升级不生效问题排查
运维·网络·智能路由器
荣合技术服务4 小时前
HPC 超算集群故障维修实录:找荣合科算维护后,模拟仿真计算又能跑了
运维·服务器·超算服务器·荣合科算
GeW5 小时前
高端化转型进入“补底层”阶段:Linux与数据库的再定位
linux