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 logmgr.log linkstest

输出:

lrwxrwxrwx 1 root root 17 Nov 26 12:13 linkstest -> /root/test/logmgr.log

在该目录下可以访问 linkstest 来跳转到 logmgr.log 文件

硬链接实例:给文件创建硬链接
命令:

ln logmgr.log linktest


输出:

-rw-r--r-- 2 root root 5360 Nov 16 18:28 logmgr.log
-rw-r--r-- 2 root root 5360 Nov 16 18:28 testlink

输出一个相同属性的 testlink 的文件

注意:
①硬链接的源文件被删除后,不会影响已经生成的硬链接文件;
②软链接的源文件被删除后,在 CentOS 系统下会不断的闪烁,提示源文件已经不存在;

被删除的文件重建源文件后,软链接不会闪烁提示,可以再次链接成功,找到了链接文件系统;
硬链接文件不会受到源文件的修改操作影响,硬链接文件的内容还是保留了删除前源文件的内容;

5. 重要说明:

1. 目录只能创建软链接;
2. 目录创建链接必须用绝对路径,相对路径创建会不成功;
3. 在链接目标目录中修改文件都会在源文件目录中同步变化;

0 条评论

发表评论

Avatar placeholder

您的电子邮箱地址不会被公开。