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 和数据块)

三、注意

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

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

相关推荐
无言听风雨丶15 分钟前
Nginx 深度实战:从架构原理到生产排错
运维·nginx·架构
曦夜日长18 分钟前
主从 Reactor 高并发服务器实战 (三):服务器套接字Socket模块详解与实现
运维·服务器·网络
z06.41 分钟前
Linux系统中MySQL的安装
linux·mysql
wzg20161 小时前
ubuntu通过docker镜像部署安装onlyoffice
linux·ubuntu·docker
Star(up up up)1 小时前
Docker系列---Docker容器基本命令(新手小白保姆级实操教程)
运维·学习·程序人生·青少年编程·docker·容器·dubbo
echome8881 小时前
Linux 定时任务:crontab 写法与常见失效原因
linux·运维·网络·定时任务·crontab
老约家的可汗1 小时前
Linux开发三件套:make、git、gdb 入门指南
linux·运维·服务器
分布式存储与RustFS2 小时前
可观测性数据落进对象存储:Proscia 案例拆解与 ClickHouse 自托管配置
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
Sw1zzle2 小时前
Go入门(零):Linux Ubuntu 22.04 安装 Go
linux·ubuntu·golang
device_Any2 小时前
接口文档写着三个字段,接口返回了五个
android·java·linux