欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-02-27 16:20:03
...

就像 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
建立一个硬连接。