主题
Linux软链接详解
课程介绍
接下来我们来学习软链接。软链接类似于Windows的快捷方式,用一个指针指向原始文件或目录。用ln -s命令创建,比如ln -s /etc/passwd pwd_link。删除原始文件会让软链接失效,这点要注意。软链接方便跨位置访问文件,很实用。
1. 什么是软链接
基本概念
软链接(Symbolic Link,也称为符号链接)是Linux系统中的一种特殊文件类型,它允许将一个文件或文件夹链接到系统中的另一个位置。软链接类似于Windows系统中的快捷方式,它本身只是一个指向原始文件或文件夹的指针。
软链接的特点
- 类似于快捷方式:软链接相当于原始文件或文件夹的快捷方式
- 本体不变:原始文件或文件夹的位置和内容保持不变
- 指向关系:软链接指向原始文件或文件夹的路径
- 跨文件系统:可以在不同的文件系统之间创建软链接
2. 创建软链接的命令语法
基本语法
bash
ln -s 被链接的文件/文件夹 链接的目的地参数说明
ln:创建链接的命令-s:创建软链接的选项(如果不加此选项,将创建硬链接)被链接的文件/文件夹:原始文件或文件夹的路径(可以是相对路径或绝对路径)链接的目的地:要创建的软链接的路径和名称
3. 实例演示:链接文件
场景描述
假设我们有一个位于/etc/yum.conf的文件,由于路径较长,我们希望在当前用户的home目录中创建一个快捷方式(软链接)。
操作步骤
bash
# 查看原始文件是否存在
ls -l /etc/yum.conf
# 创建软链接(在当前目录下)
ln -s /etc/yum.conf yum.conf
# 查看创建的软链接
ls -l yum.conf
# 验证软链接是否有效
cat yum.conf # 通过软链接查看文件内容输出示例
bash
# 查看原始文件
-rw-r--r--. 1 root root 1029 Oct 19 2023 /etc/yum.conf
# 创建并查看软链接
lrwxrwxrwx. 1 user user 12 Jan 12 15:30 yum.conf -> /etc/yum.conf
# 查看软链接指向的文件内容
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
...4. 实例演示:链接文件夹
场景描述
假设我们有一个位于/etc/yum的文件夹,我们希望在当前用户的home目录中创建一个软链接,方便访问。
操作步骤
bash
# 查看原始文件夹是否存在
ls -l /etc/yum
# 创建软链接(在当前目录下)
ln -s /etc/yum yum
# 查看创建的软链接
ls -l yum
# 验证软链接是否有效
cd yum # 通过软链接进入文件夹
ls -l # 查看文件夹内容输出示例
bash
# 查看原始文件夹
lrwxrwxrwx. 1 root root 10 Oct 19 2023 /etc/yum -> yum.repos.d
# 创建并查看软链接
lrwxrwxrwx. 1 user user 8 Jan 12 15:35 yum -> /etc/yum
# 进入软链接文件夹并查看内容
cd yum
ls -l
# 输出文件夹中的文件列表1. 文件类型标识
在使用ls -l命令查看软链接时,文件类型标识为l(link),表示这是一个软链接。
bash
lrwxrwxrwx. 1 user user 12 Jan 12 15:30 yum.conf -> /etc/yum.conf2. 权限设置
软链接的权限通常显示为lrwxrwxrwx,但实际的访问权限由原始文件或文件夹决定。
3. 指向关系
软链接通过箭头->明确显示其指向的原始文件或文件夹路径。
4. 跨文件系统支持
软链接可以在不同的文件系统之间创建,而硬链接则不能。
5. 使用注意事项
- 路径选择:建议使用绝对路径创建软链接,避免因当前工作目录变化导致链接失效
- 原始文件删除:如果删除原始文件或文件夹,软链接将变为无效(显示为红色闪烁)
- 权限继承:软链接本身的权限不影响访问,实际权限由原始文件或文件夹决定
- 文件夹链接:创建文件夹的软链接时,不需要在目标路径后加斜杠
- 同名覆盖:如果目标路径已存在同名文件或文件夹,创建软链接时需要先删除或重命名
6. 关键命令参考
| 命令 | 功能描述 |
|---|---|
ln -s 原始文件 软链接名称 | 创建文件的软链接 |
ln -s 原始文件夹 软链接名称 | 创建文件夹的软链接 |
ls -l 软链接名称 | 查看软链接的详细信息 |
cat 软链接名称 | 通过软链接查看文件内容 |
cd 软链接名称 | 通过软链接进入文件夹 |
rm 软链接名称 | 删除软链接(注意不要加斜杠) |
课程总结
这节课我们学了软链接。
软链接类似Windows的快捷方式: ln -s 原文件 链接名 - 创建软链接 可以指向文件或文件夹 只是一个指向原始文件的指针 删了原文件,链接就失效了 支持跨文件系统
软链接适合在不同位置访问同一个文件。
课后练习
- 在home目录中创建一个指向
/etc/passwd文件的软链接 - 查看创建的软链接内容,验证是否与原始文件一致
- 在home目录中创建一个指向
/var/log文件夹的软链接 - 通过软链接进入文件夹,查看其中的日志文件
- 尝试删除原始文件,观察软链接的变化