linux 软连接、硬连接与 ln(link) 命令

就像 Windows 下的快捷方式,但又有所不同。

硬连接 Hard Link

通过文件索引节点来进行连接。在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在 Linux 中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。

硬连接的作用是允许一个文件拥有多个有效路径名,以防止“误删”的功能。只删除一个硬连接并不影响索引节点本身和其它的连接,只有当最后一个硬连接被删除后,文件的数据块及目录的连接才会被释放。

注意:

  1. 不允许给目录创建硬链接;
  2. 只有在同一文件系统中的文件之间才能创建链接。

软连接 Symbolic Link

也称符号连接。软链接文件更加类似于 Windows 的快捷方式。它实际上是一个特殊标记过的文本文件,其中包含的有另一文件的位置信息。

源(source)可以是任意文件或目录,可以是存在于不同文件系统的文件,甚至可以是不存在的文件(断链)。软连接文件甚至可以连接自己(递归)。

在对符号文件进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作,但删除符号文件时,系统不删除源文件。

软连接不会维护源是否存在,当源或连接本身被移动后也不会维护。

比如:

$ mkdir dir1
$ ln dir1 link1
$ mv link1 ..
$ cd ../link1
cd: link1: No such file or directory

此时软连接已断链,因为 link1 的同级目录下不存在 dir1 目录。

ln 命令

指令名称:ln
使用权限:所有使用者
使用方式:ln [options] src dst,其中 option 的格式为:
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}][--help] [--version] [--]

ln -s src dst
建立一个软连接,其中 source 推荐在非便携环境中使用绝对路径。

ln src dst
建立一个硬连接。

你可能感兴趣的:(linux 软连接、硬连接与 ln(link) 命令)