Linux下的硬链接和软链接
一、检查服务器系统版本
[root@node ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
二、Linux中硬链接和软链接介绍
Linux文件系统中,有所谓的链接(link),我们可以将其视为文件的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link)。
- 硬链接是指文件可以有多个名称。
- 软链接的方式则是产生一个特殊的文件,该文件的内容是指向另一个文件的位置
- 硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。
三、Linux硬链接
1.创建文件
[root@node ~]# mkdir /hon
[root@node ~]# echo "aa-bb-test" > /hon/test.01
2.创建硬链接文件 test.bak
[root@node ~]# ln /hon/test.01 test.bak
3.查看硬链接文件
[root@node ~]# ll test.bak
-rw-r--r-- 2 root root 11 Nov 4 10:22 test.bak
[root@node ~]# ll /hon/test.01
-rw-r--r-- 2 root root 11 Nov 4 10:22 /hon/test.01
4.查看文件内容
[root@node ~]# cat /hon/test.01
aa-bb-test
[root@node ~]# cat test.bak
aa-bb-test
5.查看文件inode号
[root@node ~]# ls -i /hon/test.01
118529032 /hon/test.01
[root@node ~]# ls -i test.bak
118529032 test.bak
四、Linux软链接
1.创建一个测试文件
[root@node ~]# mkdir /ron
[root@node ~]# echo aa > /ron/aa.txt
2.创建软链接文件
ln -s /ron/aa.txt link.lk
3.查看文件inode号
[root@node ~]# ls -i /ron/aa.txt
126606482 /ron/aa.txt
[root@node ~]# ls -i link.lk
28417558 link.lk
4.查看文件内容
[root@node ~]# cat /ron/aa.txt
aa
[root@node ~]# cat link.lk
aa
五、测试删除硬链接文件
1.查看原文件属性
[root@node ~]# ll /hon/test.01
-rw-r--r-- 2 root root 11 Nov 4 10:22 /hon/test.01
2.删除链接文件
[root@node ~]# rm -rf test.bak
3.再次查看原文件变化
[root@node ~]# ll /hon/test.01
-rw-r--r-- 1 root root 11 Nov 4 10:22 /hon/test.01
六、测试删除软链接文件
1.删除原文件
rm -rf /ron/aa.txt
2.测试打开软链接文件
软链接文件已经损坏
[root@node ~]# cat link.lk
cat: link.lk: No such file or directory
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现