Linux下的softlink和symbolic link(hardlink)

本文详细介绍了Linux中的硬链接和软链接(符号链接),包括它们的工作原理、创建方法及使用场景的区别。硬链接指向源文件的inode,共享相同的文件内容;而软链接则类似于Windows的快捷方式,是一个独立的文件,包含指向源文件的路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux中包括两种链接:硬链接(hard link)和软链接(soft link),软链接又称为符号链接(symbolic link)

创建命令:
ln -s destfile/directory  softlink    #建立软连接 
ln destfile  hardlink                    #建立硬连接

inode
在Linux系统中,内核为每一个新创建的文件分配一个Inode,每个文件都有一个惟一的inode号,我们可以将inode简单理解成一个指针,它永远指向本文件的具体存储位置。文件属性保存在inode里,在访问文件时,inode被复制到内存,从而实现文件的快速访问。系统是通过inode来定位每一个文件。

硬链接(hard link)
硬链接实际上是一个指针,指向源文件的inode,系统并不为它重新分配inode。硬连接不会建产新的inode,硬连接不管有多少个,都指向的是同一个inode节点,只是新建一个hard link会把结点连接数增加,只要结点的连接数不是0,文件就一直存在,不管你删除的是源文件还是连接的文件。只要有一个存在,文件就存在(其实就是引用计数的概念)。当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。

软链接(soft link)
软链接最直观的解释:相当于Windows系统的快捷方式,是一个独立文件(拥有独立的inode,与源文件inode无关),该文件的内容是源文件的路径指针,通过该链接可以访问到源文件。所以删除软链接文件对源文件无影响,但是删除源文件,软链接文件就会找不到要指向的文件(可以类比Windows上快捷方式,你点击快捷方式可以访问某个文件,但是删除快捷方式,对源文件无任何影响)。

区别
1. 软链接和源文件操作权限不一样;硬链接与源文件操作权限完全一致。
2. 软链接可以跨文件系统(分区);由于inode的限制以及文件系统的可卸载性,硬连接不容许跨文件系统。
3. 软连接可以对一个不存在的文件名进行连接;硬链接不可以。

4. 软连接可以对目录进行连接;硬链接不可以。

原文:https://blog.csdn.net/yasaken/article/details/7292186

### Linux 中硬链接与软链接的区别 #### 硬链接 (Hard Link) 硬链接是指向同一 inode 的多个文件名。这意味着当创建一个硬链接时,实际上是在文件系统的不同位置增加了一个新的名字来指向相同的物理数据块。因此,修改任何一个硬链接都会影响到其他所有的硬链接以及原始文件。 - 创建方式:`ln source target` - 特点: - 不同的名字共享相同的数据区。 - 删除其中一个不会影响其他的链接或原文件[^1]。 ```bash # 创建硬链接的例子 ln /path/to/source_file /another/path/link_name ``` #### 符号链接 (Symbolic LinkSoft Link) 符号链接是一个特殊的文件,它包含了目标文件的路径名称而不是直接指向其inode。这使得即使源文件被移动或删除,只要新位置仍然可以通过该路径找到,则符号链接依然有效;但如果源文件不存在了,那么尝试访问此符号链接就会失败。 - 创建方式:`ln -s source target` - 特点: - 可以为不存在的目标创建符号链接。 - 修改符号链接本身不影响所指向的对象,除非是对它的内容进行了更改并保存到了真实的磁盘上[^5]。 ```bash # 创建符号链接的例子 ln -s /absolute/or/relative/path/to/source_file symbolic_link_name ``` #### 关键差异对比 | 属性 | 硬链接 | 软链接 | | --- | --- | --- | | 文件系统对象 | 同一 i-node 多个入口 | 单独的小型文件存储着目标路径| | 是否允许跨分区 | 否 | 是 | | 对应文件删除后的状态 | 链接继续存在直到最后一个引用消失 | 成为悬空链接 |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值