Linux中的软硬链接

Linux中的软硬链接

快捷查看指令 ctrl+f 进行搜索会直接定位到需要的知识点和命令讲解(如有不正确的地方欢迎各位小伙伴在评论区提意见,博主会及时修改)

软硬链接
硬链接
文件有一个唯一标识 ----- inode
一个inode号可以有多个对应的文件名称。 删除某个文件,对其他文件也没有影响 但是修改内容 会影响所有文件。
一般情况下,可以用不同的文件名来访问相同的内容,对文件内容进行修改,会影响所有文件 但是删除某一个文件,
不影响其他文件对于内容的访问 ------- 硬链接(hard link)
# 创建文件并追加文件内容
	[root@bai peiqi]# echo 11111 >> a.txt
# 查看a.txt的详细信息
	[root@bai peiqi]# ll -i a.txt
	16805841 -rw-r--r--. 2 root root 18 11月 10 09:59 a.txt
# 复制一份 a.txt
	[root@bai peiqi]# cp a.txt b.txt
# 查看两个文件的详细信息
	[root@bai peiqi]# ll -i ./*
	16805841 -rw-r--r--. 3 root root 18 11月 10 09:59 a.txt
	16789436 -rw-r--r--. 1 root root 12 11月 10 09:57 b.txt # 两个文件独立(inode不同),没有关联关系
a.txt 文件的 修改 删除 对 b.txt都没有影响
# 给 a.txt 制作两个硬链接
	[root@bai peiqi]# ln a.txt a-hard_link1.txt
	[root@bai peiqi]# ln a.txt a-hard_link2.txt
# 查看a.txt 和两个硬链接的详细信息
	[root@bai peiqi]# ll -i
	16805841 -rw-r--r--. 3 root root 18 11月 10 09:59 a-hard_link1.txt
	16805841 -rw-r--r--. 3 root root 18 11月 10 09:59 a-hard_link2.txt
	16805841 -rw-r--r--. 3 root root 18 11月 10 09:59 a.txt
三个文件都可以获取相同的文件内容 类似于 一个房间(文件内容)有好多扇门(文件名)
# 删除 a.txt
	[root@bai peiqi]# rm -f a.txt
	[root@bai peiqi]# ll -i
	16805841 -rw-r--r--. 3 root root 18 11月 10 09:59 a-hard_link1.txt
	16805841 -rw-r--r--. 3 root root 18 11月 10 09:59 a-hard_link2.txt #删除某个文件 对其他(源文件,硬链接)没有影响
语法:
	ln 源文件 硬链接文件
运行上方指令以后,源文件与硬链接文件的 inode 号码相同 。 其中在 inode 的信息中有一项叫做 "链接数"(源文件的名字也是链接之一)
链接数记录 inode 的文件名总数(有多少个链接指向这块文件内容)[刚开始只有源文件,此时总数就是 1, 构建两个硬链接 总数会增加 2]
[反过来 删除一个文件名 就会使 inode 节点中的 链接数 -1] [当这个值为0 表明没有 文件名指向这个 inode]系统就会回收这个 inode号码
同时回收文件占用的block区域。

在这里插入图片描述

注意:
#  可以把一些重要文件做多个链接
1. 硬链接不能跨文件系统
2. 目录不支持硬链接
软链接
软链接又叫符号链接,可以理解为是 快捷方式。
语法:
	ln -s 源文件 链接文件
# 获取软链接中保存的内容
	readlink 软链接的文件名
注意:
1. 软链接和源文件的inode不一样
2. 对软链接执行 查看 编辑 最终被操作的是 源文件 [软链接中真实存储是 源文件的路径]
3. 删除源文件 ll 查看详细信息 软链接 跳动[提示源文件不存在]
软硬链接的区别:
1. 软链接可以跨文件系统,硬链接不行
2. 软链接可对目录进行制作,硬链接不行
3. 删除源文件以后 软链接失效 硬链接不受影响
4. 两种文件都可通过 ln 指令创建
	|- ln 源文件 硬链接文件
	|- ln -s 源文件 软链接文件
5. ln 指令默认创建的是硬链接
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寂冄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值