ln 用于创建硬链接或符号链接(软链接)。
硬链接是文件系统中指向同一 inode 的多个目录项,删除一个硬链接不影响其他链接。符号链接是一个特殊文件,包含指向另一个文件的路径。硬链接不能跨文件系统,不能指向目录;符号链接两者都可以。
/usr/bin/python3 指向真实版本)示例 1:创建硬链接
ln original.txt hardlink.txt
ls -li original.txt hardlink.txt
1234567 -rw-r--r-- 2 alice staff 100 Aug 18 10:00 original.txt
1234567 -rw-r--r-- 2 alice staff 100 Aug 18 10:00 hardlink.txt
(注意两者有相同的 inode 号 1234567)
示例 2:创建符号链接
ln -s /usr/local/nginx/nginx /usr/local/bin/nginx
ls -l /usr/local/bin/nginx
lrwxrwxrwx 1 root root 23 Aug 18 10:05 /usr/local/bin/nginx -> /usr/local/nginx/nginx
示例 3:创建目录符号链接
ln -s /var/www/html webroot
示例 4:强制创建(覆盖已存在的链接)
ln -sf /opt/new_python/bin/python3 /usr/local/bin/python3
| 参数 | 长参数 | 说明 |
|---|---|---|
-s |
--symbolic |
创建符号链接而非硬链接 |
-f |
--force |
如果目标文件已存在,则删除后重新创建 |
-n |
--no-dereference |
如果目标是符号链接,不要跟随它 |
-i |
--interactive |
覆盖前询问确认 |
-v |
--verbose |
显示每个创建操作的信息 |
-b |
--backup |
覆盖前创建备份 |
-t DIR |
--target-directory=DIR |
在指定目录中创建链接 |
-T |
--no-target-directory |
将目标视为普通文件而非目录 |