Centos 软连接和硬链接

本文详细解析了Linux系统中软链接和硬链接的工作原理及使用方法。软链接类似Windows的快捷方式,可跨系统;硬链接则确保即使源文件被删除,通过链接仍可访问文件。两者在删除操作上不影响原始文件,但在修改时都会影响原文件。
1.软链接:
建立软链接:ln -s /usr/local/node-v4.2.6-linux-x86/bin/node /usr/local/bin/node

解释:将/usr/local/node-v4.2.6-linux-x86/bin/下的node映射到/usr/local/bin/下的node

删除软链接:rm -rf /usr/local/bin/node
2.硬链接:
建立硬链接:ln /usr/local/node-v4.2.6-linux-x86/bin/node /usr/local/bin/node

解释:将/usr/local/node-v4.2.6-linux-x86/bin/下的node映射到/usr/local/bin/下的node

删除硬链接: rm -rf /usr/local/bin/node

3.一个特殊角度的解释:linux的软链接和硬链接删除都不会影响原始文件,但是修改的话都会影响原始文件。linux的软链接相当于windows里的快捷方式,快捷方式删了就删了,原来文件还是存在的。linux的硬链接的特点就是,链接文件和原始文件只要有一个存在,文件就会存在,不会消失。(你删除源文件,依然可以在连接文件里打开)。但是软链接可以跨系统,这点硬链接不行。

CentOS 7 中,链接(Symbolic Link)硬链接(Hard Link)是实现文件链接的两种机制,它们分别具有不同的特性使用场景。 ### 链接(Symbolic Link) 链接是一种特殊的文件类型,它包含了指向另一个文件或目录的路径名。可以将其理解为类似于 Windows 中的快捷方式。链接文件本身是一个独立的文件,其 inode 不同于源文件,并且它仅包含指向目标文件的路径信息[^1]。这意味着如果原始文件被删除或移动,链接将失效(变成“悬空”链接)。创建链接的方式如下: ```bash ln -s 源文件 链接文件 ``` ### 硬链接(Hard Link) 硬链接通过共享同一个 inode 来连接多个文件名到同一份数据。在 Linux 文件系统中,每个文件都有一个唯一的 inode 号码标识,而硬链接就是让多个文件名指向相同的 inode,从而访问相同的数据内容。因此,硬链接与源文件本质上是不可区分的,它们共享所有属性,除了文件名。修改任意一个链接的内容都会反映在其他链接上。删除其中一个硬链接不会影响数据,除非最后一个硬链接被删除[^2]。创建硬链接的方式如下: ```bash ln 源文件 链接文件 ``` ### 链接与硬链接的区别 1. **inode 的使用**:硬链接与源文件共享同一个 inode,而链接拥有自己的 inode。 2. **跨文件系统支持**:硬链接不能跨越不同的文件系统,而链接可以[^3]。 3. **对源文件的依赖性**:链接依赖于源文件的存在;一旦源文件被删除,链接就会失效。相比之下,只要至少还有一个硬链接存在,即使源文件被删除,数据仍然保留。 4. **目录链接限制**:通常情况下,不允许创建目录的硬链接以避免循环结构问题,但可以创建目录的链接。 5. **文件大小**:硬链接显示的文件大小等同于源文件,因为它们实际上指向的是同一份数据。而链接的大小则取决于路径字符串长度。 ### 硬链接与单纯复制的区别 硬链接并不是简单地复制文件内容,而是直接引用了原有的 inode。因此,无论有多少个硬链接指向该 inode,这些链接实际上是同一份数据的不同入口点。任何更改都会同步更新所有链接看到的内容。相反,普通的复制操作会生成一个新的 inode 独立的一份数据拷贝,两者之间没有关联[^1]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值