跳转到内容

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.conf

2. 权限设置

软链接的权限通常显示为lrwxrwxrwx,但实际的访问权限由原始文件或文件夹决定。

3. 指向关系

软链接通过箭头->明确显示其指向的原始文件或文件夹路径。

4. 跨文件系统支持

软链接可以在不同的文件系统之间创建,而硬链接则不能。

5. 使用注意事项

  • 路径选择:建议使用绝对路径创建软链接,避免因当前工作目录变化导致链接失效
  • 原始文件删除:如果删除原始文件或文件夹,软链接将变为无效(显示为红色闪烁)
  • 权限继承:软链接本身的权限不影响访问,实际权限由原始文件或文件夹决定
  • 文件夹链接:创建文件夹的软链接时,不需要在目标路径后加斜杠
  • 同名覆盖:如果目标路径已存在同名文件或文件夹,创建软链接时需要先删除或重命名

6. 关键命令参考

命令功能描述
ln -s 原始文件 软链接名称创建文件的软链接
ln -s 原始文件夹 软链接名称创建文件夹的软链接
ls -l 软链接名称查看软链接的详细信息
cat 软链接名称通过软链接查看文件内容
cd 软链接名称通过软链接进入文件夹
rm 软链接名称删除软链接(注意不要加斜杠)

课程总结

这节课我们学了软链接。

软链接类似Windows的快捷方式: ln -s 原文件 链接名 - 创建软链接 可以指向文件或文件夹 只是一个指向原始文件的指针 删了原文件,链接就失效了 支持跨文件系统

软链接适合在不同位置访问同一个文件。

课后练习

  • 在home目录中创建一个指向/etc/passwd文件的软链接
  • 查看创建的软链接内容,验证是否与原始文件一致
  • 在home目录中创建一个指向/var/log文件夹的软链接
  • 通过软链接进入文件夹,查看其中的日志文件
  • 尝试删除原始文件,观察软链接的变化

评论区

专业的Linux技术学习平台,从入门到精通的完整学习路径