ln 命令

链接

链接文件是 Linux 文件系统的一个优势。如需要在系统上维护同一个文件的两份或多份副本,除了保存多分单独的物理文件副本之外,还可以采用保存一份物理文件副本和多个虚拟副本的方式。这种虚拟副本就称为链接

链接是目录中指向文件真实位置的占位符。

在 Linux 中有两种不同类型的文件链接:

  • 符号链接

  • 硬链接

符号链接

符号链接 就是一个实实在在的文件,它指向存放在虚拟目录结构中某个地方的另一个文件。 这两个通过符号链接在一起的文件,彼此的内容并不相同。

要为一个文件创建符号链接,原始文件必须事先存在。

注意:符号链接文件不是一个独立的文件,它的许多属性依赖于源文件,所以给符号链接文件设置存取权限是没有意义的。

硬链接

硬链接 会创建独立的虚拟文件,其中包含了原始文件的信息以及位置。但是他们从根本上而言是同一个文件。引用硬链接文件等同于引用了源文件。

要创建硬链接,原始文件也必须事先存在。

只能对处于同一存储媒体的文件创建硬链接。要想在不同存储媒体的文件之间创建链接,只能使用符号链接。此外,也不能对目录进行硬链接。

判断符号链接和硬链接

  1. ls -l 命令中,长列表中符号文件名后的 -> 符号表明该文件是链接到后一个文件上的一个符号链接。

  2. 查看inode编号。文件或目录的 inode 编号是一个用于标识的唯一数字,这个数字由内核分配给文件系统中的每一个对象。符号链接文件的 inode 和源文件的 inode 是不一样的。

ln 命令

ln 命令用来为文件创件链接,默认的连接类型是硬链接。如果要创建符号链接必须使用 -s 选项。

命令用法

$ ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
$ ln [OPTION]... TARGET                  (2nd form)
$ ln [OPTION]... TARGET... DIRECTORY     (3rd form)
$ ln [OPTION]... -t DIRECTORY TARGET...  (4th form)

其中 TARGET 可以理解为源文件名,LINK_NAME 则为链接文件名。 注意其中第三和第四种形式只能用于创建符号链接。

常用可选参数

参数

说明

-d, -F

允许超级管理对目录进行硬链接

-f, --force

不管目标文件是否存在,强制建立链接文件

-i

提示是否删除目标文件

-s

建立符号链接

Last updated