ln命令复习
ln 命令用于在 Linux 和 Unix 系统中创建链接文件。链接文件分为两种:硬链接(Hard Link) 和 软链接(Symbolic Link,也称为符号链接)。以下是 ln 命令的用法,特别是软链接的创建和管理。
基本语法
ln [选项] 源文件 目标链接
常用选项
| 选项 | 说明 |
|---|---|
-s |
创建软链接(符号链接) |
-f |
强制创建链接,如果目标文件已存在,则覆盖 |
-i |
交互模式,如果目标文件已存在,提示是否覆盖 |
-v |
显示详细操作过程 |
软链接 vs 硬链接
| 特性 | 软链接 | 硬链接 |
|---|---|---|
| 文件类型 | 是一个独立的文件,指向源文件 | 是源文件的另一个名称,与源文件共享 inode |
| 跨文件系统 | 支持 | 不支持 |
| 源文件删除 | 软链接失效 | 硬链接仍然有效 |
| 文件大小 | 很小(仅存储路径信息) | 与源文件相同 |
| 创建命令 | ln -s 源文件 目标链接 |
ln 源文件 目标链接 |
软链接的常见用法
1. 创建软链接
-
基本用法:
ln -s 源文件 目标链接示例:
ln -s /path/to/source.txt /path/to/link.txt这会在
/path/to/link.txt创建一个指向/path/to/source.txt的软链接。 -
创建目录的软链接:
ln -s /path/to/source_directory /path/to/link_directory
2. 覆盖已存在的软链接
- 使用
-f选项强制覆盖:
示例:ln -sf 源文件 目标链接ln -sf /path/to/new_source.txt /path/to/link.txt
3. 交互式创建软链接
- 使用
-i选项,如果目标链接已存在,会提示是否覆盖:ln -si 源文件 目标链接
4. 查看软链接信息
- 使用
ls -l查看软链接的详细信息:
输出示例:ls -l /path/to/link.txt
其中lrwxrwxrwx 1 user group 15 Oct 10 12:34 link.txt -> /path/to/source.txt->表示软链接指向的目标文件。
5. 删除软链接
- 直接删除软链接文件:
注意:删除软链接不会影响源文件。rm /path/to/link.txt
6. 修改软链接的目标
- 先删除旧的软链接,再创建新的软链接:
或者使用rm /path/to/link.txt ln -s /path/to/new_source.txt /path/to/link.txt-f选项直接覆盖:ln -sf /path/to/new_source.txt /path/to/link.txt
注意事项
-
软链接的路径:
- 如果源文件是相对路径,软链接会以相对路径存储。
- 如果源文件是绝对路径,软链接会以绝对路径存储。
-
软链接的权限:
- 软链接的权限始终是
lrwxrwxrwx,实际权限由源文件决定。
- 软链接的权限始终是
-
源文件删除:
- 如果源文件被删除或移动,软链接会变成“悬空链接”(dangling link),访问时会报错。
-
跨文件系统:
- 软链接可以跨文件系统,硬链接不行。
示例场景
1. 为常用文件创建快捷方式
ln -s /var/log/syslog ~/syslog_link
2. 为目录创建软链接
ln -s /opt/myapp/data ~/data_link
3. 覆盖已存在的软链接
ln -sf /opt/myapp/new_data ~/data_link
4. 查看软链接信息
ls -l ~/data_link
通过以上用法,你可以灵活使用 ln 命令创建和管理软链接,方便文件或目录的快捷访问。
浙公网安备 33010602011771号