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 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用 * 标注