Linux 软链接——ln命令的使用
在 Linux 中,ln命令用于为一个文件在另一个位置创建一个同步链接。当我们需要在不同目录中使用相同的文件时,不需要在每个目录中都放置一个相同的文件,只需在某个固定目录中存放该文件,并在其他目录中使用 `ln` 命令链接该文件即可,不会重复占用磁盘空间。在 Linux 文件系统中,所谓的链接(link),可以视为文件的别名。链接分为两种:硬链接(hard link)和软链接(symbolic link)。
硬链接的含义是一个文件可以有多个名称,主要特点如下:
1.以文件副本的形式存在,但不占用额外的磁盘空间;
2.不允许为目录创建硬链接;
3.硬链接只能在同一个文件系统中创建。
软链接是创建一个特殊的文件,其内容指向另一个文件的位置,主要特点如下:
1.以路径形式存在,类似于 Windows 操作系统中的快捷方式;
2.软链接可以跨越文件系统;
3.软链接可以链接到一个不存在的文件名;
4.软链接可以链接到目录。
命令语法如下:ln [选项] 源文件或目录 目标文件或目录
在该语法中,常用的参数有 6 种,如表所示:
选项 | 说明 |
-b | 如果目标目录中已有同名文件,在覆盖前备份 |
-f | 如果目标目录中已有同名文件,无需提示,直接覆盖 |
-i | 交互模式,如果目标目录中已有同名文件,提示是否覆盖 |
-t | 根据最后的修改时间排序 |
-n | 将软链接视为普通目录 |
-S | 创建软链接 |
-V | 显示操作的详细信息(V为 verbose 的缩写) |
以下为ln实操举例:
①给文件创建硬链接。为文件 `mrkj` 创建一个硬链接 `mrkj_hard`,命令实操如图所示:
②给文件创建软链接。通过删除源文件,比较软硬链接的区别,命令实操如图所示:
③软硬链接对比:给目录创建软链接。给文件创建软链接与给目录创建软链接在语法上没有区别,这里给出一个不存在的目录名进行链接,实现同级目录的软链接。先在当前目录新建一个目录 `mrkj_C`,然后链接到符号目录 `mrkj_B`,`mrkj_B` 不需要手动创建,命令实操如图所示: