Linux符号链接(软链接)、硬链接的创建方式、特性和常见用途

Linux从入门到入土 系列文章目录

第一章 Linux简介:Linux发行版、内核版本号的形式和含义、Linux常见目录
第二章 Linux虚拟机配置: CentOS7/openEuler NAT网络配置 关闭SELinux 关闭防火墙 设置静态IP
第三章 Linux软件包管理工具:CentOS/openEuler的rpm、yum;Debian/Ubuntu的dpkg、apt
第四章 Linux符号链接(软链接)、硬链接的创建方式、特性和常见用途
第五章 Linux运行级别 进入不同控制台的快捷键 VI/VIM极速入门
第六章 Linux磁盘管理 硬盘&分区命名规则 Linux目录结构介绍 /etc/fstab详解 新硬盘挂载流程
第七章 Linux(CentOS)中共享文件的方法:U盘/移动硬盘、VMware Tools、FTP、Samba、http.server



引入

ll命令的输出

下面是使用ll命令(ls -l的缩写,l参数表示列出详细信息)输出的根目录中的内容:

[root@localhost etc]# cd /
[root@localhost /]# ll
总用量 16
lrwxrwxrwx.   1 root root    7 93 09:02 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 93 09:08 boot
drwxr-xr-x   20 root root 3160 99 14:15 dev
drwxr-xr-x.  74 root root 8192 99 14:15 etc
drwxr-xr-x.   3 root root   22 93 09:06 home
lrwxrwxrwx.   1 root root    7 93 09:02 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 93 09:02 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 411 2018 media
drwxr-xr-x.   2 root root    6 411 2018 mnt
drwxr-xr-x.   2 root root    6 411 2018 opt
dr-xr-xr-x  132 root root    0 99 14:15 proc
dr-xr-x---.   2 root root  135 93 11:21 root
drwxr-xr-x   24 root root  700 99 14:15 run
lrwxrwxrwx.   1 root root    8 93 09:02 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 411 2018 srv
dr-xr-xr-x   13 root root    0 99 14:15 sys
drwxrwxrwt.   8 root root  211 99 15:17 tmp
drwxr-xr-x.  13 root root  155 93 09:02 usr
drwxr-xr-x.  19 root root  267 93 09:08 var

每行第一个字母的含义

第一位表示该文件的类型:
-表示普通文件
d表示目录
l表示链接文件
p表示管理文件
b表示块设备文件
c表示字符设备文件
s表示套接字文件

从根目录就可以看出,链接在Linux中应用很广泛。


符号链接(软链接)

符号链接(Symbolic Link),也称软链接(Soft Link),是一中特殊的文件,它指向了另一个文件。打开符号链接时,系统会重定向到它指向的文件。

创建

# 建立符号链接(软链接) ln -s
ln -s /home/paitalyi/source.txt /home/paitalyi/soft.txt

# ll查看 会有指向源文件的说明
lrwxrwxrwx 1 略 soft.txt -> /home/paitalyi/source.txt

特性

  • 符号链接(软链接)拥有一个自己的i-node,并且这个i-node指向源文件。注:i-node存储了文件属性、所有者、权限等元数据
  • 删除符号链接不会影响源文件。
  • 删除源文件后,符号链接仍然存在,但显示为红色,链接闪烁,表示源文件已删除,变为无效链接
  • 可以跨文件系统创建符号链接。

用途

快捷访问‌

为常用文件或目录创建快捷方式,例如将深层嵌套的配置文件软链接到用户主目录或桌面,便于快速访问‌。

软件版本管理‌

在软件升级时,通过修改软链接指向新版可执行文件(如 /usr/bin/python 指向实际安装的 Python 版本),实现无缝切换‌。

动态配置指向‌

配置文件灵活切换场景,例如开发环境与生产环境使用不同配置,通过软链接快速调整目标文件‌。

系统管理

systemctl enable xyz.service执行的操作就是创建一个符号链接。


硬链接

硬链接(Hard Link)是指向同一个物理文件的数据块的多个文件名,同一文件的所有硬链接共享同一个inode。

创建

# 建立硬链接文件 ln
ln /home/paitalyi/source.txt /home/paitalyi/new.txt

# ll查看没有特殊显示
-rw-r--r-- 1 root root 23 99 16:21 new.txt

# 源文件被删除后,仍能使用

特性

  • 硬链接和源文件拥有同一个i-node,所以指向同一个文件,因此文件内容不会重复存储,硬链接和源文件没有区别
  • 删除硬链接不会删除文件,只会将相应i-node的引用数减去一(创建时引用数加一),只有所有“硬链接”(最初的文件也算是硬链接)都被删除后,i-node的引用数变为零后,文件才会被删除。
  • 更新任何一个硬链接(包括最初的文件)的内容,所有链接的内容都会更新。
  • 硬链接不能跨文件系统,也就是只能在同一个文件系统中创建硬链接。

用途

节省存储空间‌

多个文件名指向同一物理文件(共享 inode),避免重复存储相同数据,适用于备份或镜像场景‌。

防止误删文件‌

删除原始文件名时,只要存在至少一个硬链接,文件数据仍保留在磁盘中,可用于保护重要文件‌

追踪文件引用‌

通过硬链接数(inode 的引用计数)统计文件被共享的次数,例如普通文件初始硬链接数为 1,目录默认为 2(含 . 和父目录的 …)‌。

批量操作优化‌

对同一文件的多个硬链接进行修改会同步到所有关联文件,适合需要多路径访问且内容需实时同步的场景‌。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值