CentOS创建软链接(符号链接)、硬链接和区别

一、创建软链接(符号链接)

查看ln --help:

命令:

bash 复制代码
ln -s 源 链接名

例如在/data目录下有个zulu8.84.0.15-ca-jdk8.0.442-linux_x64.tar.gz文件,我们为它创建软链接

bash 复制代码
ln -s /data/zulu8.84.0.15-ca-jdk8.0.442-linux_x64.tar.gz   /data/java8

删除软链接指向的目标文件(这个是为了测试一下软链接在源文件删除后什么表象)

bash 复制代码
 rm -rf zulu8.84.0.15-ca-jdk8.0.442-linux_x64.tar.gz

删除后,软链接失效了,在这变成了红色名字,如果目标文件被删除,软链接将变成"悬挂链接"(dangling link),即指向一个不存在的文件。

二、创建硬链接

硬链接就是ln不加-s默认就是硬链接

bash 复制代码
ln  /data/zulu8.84.0.15-ca-jdk8.0.442-linux_x64.tar.gz  /data/jdk8

此时可以看到它并不是软链接那种指向关系。

删除源文件,只保留jdk8这个硬链接

解压jdk8,仍然可以解压

硬链接是直接指向存储块的,也就是说源文件删除掉后这个硬链接还存在的话就可以进行操作(硬链接和原文件共享相同的 inode 和数据块)

三、注意

软链接可以跨文件系统。你可以在不同的磁盘分区之间创建指向目标的软链接。

硬链接只能在同一文件系统内创建,它不能跨越不同的磁盘分区或文件系统

相关推荐
---学无止境---11 分钟前
Linux中早期控制台初始化和注册的实现
linux
撬动未来的支点15 分钟前
DMABUF 核心概念:Linux 的“共享白板”机制
linux
今麦郎xdu_1 小时前
【Linux系统】命令行参数和环境变量
linux·服务器·c语言·c++
还不秃顶的计科生1 小时前
linux下conda未安装的解决方法(离线安装linux下的conda)
linux·运维·服务器
DeeplyMind2 小时前
Linux的Dynamic debug功能
linux·dynamic debug
LJ-SEU2 小时前
win-ubuntu网络转发
linux·网络·ubuntu
QT 小鲜肉2 小时前
【个人成长笔记】在Ubuntu中的Linux系统安装 anaconda 及其相关终端命令行
linux·笔记·深度学习·学习·ubuntu·学习方法
QT 小鲜肉2 小时前
【个人成长笔记】在Ubuntu中的Linux系统安装实验室WIFI驱动安装(Driver for Linux RTL8188GU)
linux·笔记·学习·ubuntu·学习方法
爱学习饼2 小时前
CentOS下安装配置JDK24和tomcat11
linux·运维·centos
Super Rookie2 小时前
Tomcat 自动化脚本安装方案
运维·tomcat·自动化