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

三、注意

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

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

相关推荐
十五年专注C++开发8 分钟前
CMake进阶: CMake Modules---简化CMake配置的利器
linux·c++·windows·cmake·自动化构建
拾心2110 分钟前
【运维进阶】Ansible 角色管理
运维·ansible
phoenix098136 分钟前
ansible部署lnmp-allinone
linux·运维·ansible
winds~1 小时前
【git】 撤销revert一次commit中的某几个文件
linux·c++
iY_n2 小时前
Linux网络基础
linux·网络·arm开发
硅上观道2 小时前
打造 NixOS 开发环境 (1):为什么选择 Nix
linux
phoenix09812 小时前
Linux入门DAY27
linux·运维·服务器
♞沉寂4 小时前
信号以及共享内存
linux·c语言·开发语言
egoist20235 小时前
【Linux仓库】进程创建与进程终止【进程·柒】
linux·运维·服务器·进程创建·写时拷贝·进程终止
大锦终5 小时前
【Linux】文件系统
linux·服务器·c++