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 9月 3 09:02 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 9月 3 09:08 boot
drwxr-xr-x 20 root root 3160 9月 9 14:15 dev
drwxr-xr-x. 74 root root 8192 9月 9 14:15 etc
drwxr-xr-x. 3 root root 22 9月 3 09:06 home
lrwxrwxrwx. 1 root root 7 9月 3 09:02 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 9月 3 09:02 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 4月 11 2018 media
drwxr-xr-x. 2 root root 6 4月 11 2018 mnt
drwxr-xr-x. 2 root root 6 4月 11 2018 opt
dr-xr-xr-x 132 root root 0 9月 9 14:15 proc
dr-xr-x---. 2 root root 135 9月 3 11:21 root
drwxr-xr-x 24 root root 700 9月 9 14:15 run
lrwxrwxrwx. 1 root root 8 9月 3 09:02 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 4月 11 2018 srv
dr-xr-xr-x 13 root root 0 9月 9 14:15 sys
drwxrwxrwt. 8 root root 211 9月 9 15:17 tmp
drwxr-xr-x. 13 root root 155 9月 3 09:02 usr
drwxr-xr-x. 19 root root 267 9月 3 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 9月 9 16:21 new.txt
# 源文件被删除后,仍能使用
特性
- 硬链接和源文件拥有同一个i-node,所以指向同一个文件,因此文件内容不会重复存储,硬链接和源文件没有区别。
- 删除硬链接不会删除文件,只会将相应i-node的引用数减去一(
创建时引用数加一
),只有所有“硬链接”(最初的文件也算是硬链接
)都被删除后,i-node的引用数变为零后,文件才会被删除。 - 更新任何一个硬链接(包括最初的文件)的内容,所有链接的内容都会更新。
- 硬链接不能跨文件系统,也就是只能在同一个文件系统中创建硬链接。
用途
节省存储空间
多个文件名指向同一物理文件(共享 inode),避免重复存储相同数据,适用于备份或镜像场景。
防止误删文件
删除原始文件名时,只要存在至少一个硬链接,文件数据仍保留在磁盘中,可用于保护重要文件。
追踪文件引用
通过硬链接数(inode 的引用计数)统计文件被共享的次数,例如普通文件初始硬链接数为 1,目录默认为 2(含 . 和父目录的 …)。
批量操作优化
对同一文件的多个硬链接进行修改会同步到所有关联文件,适合需要多路径访问且内容需实时同步的场景。