1. 命令规范
ln [参数][源文件或目录][链接文件或目录]
源文件:原始文件
链接文件:创建的链接文件
第一,ln 命令会保持每一处链接文件的同步性,不论改动了哪一处,另一处的文件都会发生相同的变化;
第二,ln 链接有软链接和硬链接:
软链接:ln -s [源文件/文件夹] [目标文件],它只会在你选定的位置上生成一个文件的镜像,类似 Windows 的快捷方式,不会占用磁盘空间;
硬链接:ln [源文件] [目标文件],它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
2. 命令功能
Linux 文件系统中,有所谓的链接 (link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接 (hard link) 与软链接 (symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。
软链接:
1. 软链接以路径的形式存在。类似于 Windows 操作系统中的快捷方式;
2. 软链接可以跨文件系统,硬链接不可以;
3. 软链接可以对一个不存在的文件名进行链接;
4. 软链接可以对目录进行链接。
硬链接:
1. 硬链接以文件副本的形式存在,但不占用实际空间;
2. 不允许给目录创建硬链接;
3. 硬链接只有在同一个文件系统中才能创建。
3. 命令参数
必要参数:
- -b 删除,覆盖以前建立的链接
- -d 允许超级用户制作目录的硬链接
- -f 强制执行
- -i 交互模式,文件存在则提示用户是否覆盖
- -n 把符号链接视为一般目录
- -s 软链接 (符号链接)
- -v 显示详细的处理过程
4. 实例应用
软链接实例:给文件创建软链接
命令:
ln -s /var/testln/intro/index.php indexln
输出:
lrwxrwxrwx 1 root root 17 Nov 26 12:15 indexln -> /var/testln/intro/index.php
在该目录下可以访问 indexln 以映射 index.php 文件
硬链接实例:给文件创建硬链接
命令:
ln /var/testln/intro/index.php index.php
输出:
源文件
-rw-r--r-- 2 root root 5360 Nov 16 18:28 index.php
目标文件
-rw-r--r-- 2 root root 5360 Nov 16 18:28 index.php
在目标文件夹中输出一个相同属性的 index.php 的文件
注意:
不管软链接还是硬链接,源文件修改后链接的目标文件都会随之变化;
硬链接的源文件被删除后,不会影响已经生成的硬链接文件,相对独立存在;
软链接的源文件被删除后,在 CentOS 系统下会不断的闪烁,提示源文件已经不存在;
被删除的文件重建源文件后,软链接不会闪烁提示,可以再次链接成功,找到了链接文件系统;
硬链接文件不会受到源文件的修改操作影响,硬链接文件的内容还是保留了删除前源文件的内容;
5. 重要说明
1. 目录只能创建软链接;
2. 目录创建链接必须用绝对路径,相对路径创建会不成功;
3. 在链接目标目录中修改文件都会在源文件目录中同步变化;
0 条评论