或:ln [选项]… 源文件 (第二种格式)
或:ln [选项]… 源文件 … 目录 (第三种格式)
或:ln [选项]… -t 源文件夹 链接名… (第四种格式)
在第一种格式中,创建指定名称的链接且指向指定的源文件。
在第二种格式中,在当前目录创建指向源文件的链接。
在第三、四种格式中,在指定目录中创建指向源文件的链接。
默认创建硬链接,当使用–symbolic 时创建符号链接。
当创建硬链接时文件必须在同一个文件系统,并且不能对目录进行硬链接。符号链接可以指向任意的位置,
选项说明:
–backup[=CONTROL] 为每个已存在的目标文件创建备份文件
-b 类似–backup,但不接受任何参数
-d, -F, –directory 创建指向目录的硬链接(只适用于超级用户,而且有不可预知的风险,慎用哦)
-f, –force 强行删除任何已存在的目标文件
-n, –no-dereference 如果目的地是一个已存在的链接至某目录的符号链接,会将
该符号链接当作普通文件处理,先将该已存在的
链接备份或删除
-i, –interactive 询问是否删除目的地文件
-s, –symbolic 创建符号链接而不是硬链接
-t, –target-directory=目录 在指定目录中创建链接
-T, –no-target-directory 将链接名当作普通文件(在对目录进行符号链接时要用到此选项)
举例:
1.对某个文件创建一个连接
$ln -s /tmp/abc.txt ~/
此命令表示在家目录下创建与源文件同名的链接到/tmp/abc.txt符号连接
$ln -s /tmp/abc.txt ~/abc
此命令表示在家目录下建立链接到/tmp/abc.txt 并且名字为abc的符号连接(前提是在家目录下没有abc这个目录)
2.对某个目录创建符号连接
$ln -sT /tmp ~/abc
此命令表示在家目录下创建一个链接到/tmp目录的名字为abc的符号连接。
$ln -sT /tmp ~/
此命令表示在家目录下创建一个与源文件夹同名的符号连接
3.对某个文件创建一个硬连接
$ln /tmp/abc.txt ~/
此命令表示在家目录下创建与源文件同名的链接到/tmp/abc.txt硬链接
$ln /tmp/abc.txt ~/abc
此命令表示在家目录下建立链接到/tmp/abc.txt 并且名字为abc的硬链接(前提是在家目录下没有abc这个目录)
附注:硬链接和符号链接
简而言之,符号链接相当于windows中的快捷方式,硬链接相当于一个灾备系统,数据存放在两处,与复制不同
的是两处之间存在同步机制,一处数据的改变会实时同步到另一处,另外,一处数据如果被删除了,不会影响
到另一处的数据.下面是详细的介绍:
硬连接指向的是节点(inode),是已存在文件的另一个名字,修改其中一个,与其连接的文件同时被修
改;对硬链接文件进行读写和删除操作时候,效果和符号链接相同。但如果我们删除硬链接文件的源文件,
硬链接文件仍然存在,而且保留了原有的内容。这时,系统就“忘记”了它曾经是硬链接文件,而把他当
成一个普通文件。
硬链接文件有两个限制:
1、不允许给目录创建硬链接;
2、只有在同一文件系统中的文件之间才能创建链接。 炫浪学院 Linux教程