名字
ln-在文件间建立链接
摘要
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)
描述
第一种格式,用LINK_NAME名建立一个链接链到TARGET。第二种格式,在当前目录建立一个链接链到TARGET。第三种第四种格式,在DIRECTORY里建立链接链到每一个TARGET。默认情况下建立硬链接,用--symbolic建立符号链接。默认情况下,每一个目标(和链接同名文件)不应该存在。当建立硬链接,每一个TARGET必须存在。符号链接可以保存任意文本;在以后解析时,相对链接的解释跟它的父目录(本人觉得应该是包含目录)有关。
长选项的强制参数对于短选项也是强制的。
通常‘ln’不移除存在的文件(系统上已经有一个和链接文件同名的文件)。使用'--force'('-f')选项来无条件移除它们,用'--interactive' ('-i')选项来有条件的移除它们,'--backup' ('-b')选项用来改变它们的名字。
硬链接是文件的另一个名字,硬链接和源文件是无法区分的,技术上讲,他们共享相同的inode,inode包含一个文件的所有信息,如果说inode就是文件,这也不能说不对。绝大多数系统禁止建立对目录的硬链接;在允许这样做的系统上,只有超级用户可以这样做。硬链接不能跨越文件系统边界。
符号链接,是另一种情形,它是一种特殊的文件类型,链接文件通过文件名引用另一个文件。当大多数操作(打开,读,写等等)被传递一个符号链接文件,内核自动“解引用”链接,所以实际的操作是对链接的目标文件进行操作。但是某些操作(比如删除)作用在链接文件自身上,而不是它的目标文件。通过链接进行文件访问时,符号链接的属主和组是无关紧要的,但是从一个设置过限制删除位的目录删除符号链接时就有影响了。
符号链接可以包含任意字符串;当符号链接里的字符串不能解析为一个文件时,一个"dangling symlink"发生了。没有限制手段阻止生成悬垂符号链接。是使用绝对符号链接还是相对符号链接需要作出权衡。绝对符号链接总是指向相同的文件,甚至包含链接的目录移动了位置。但是当符号链接可以被多台机器可见(比如在一个网络文件系统里),指向的文件可能不是总是同一个了。相对符号链接根据和包含链接的目录的关系来解析链接,并且可以引用同一个设备的文件而不用关注这个设备挂载在哪里,这在联网访问的时候常常很有用。
当不在当前目录生成相对符号链接的时候,处理方法和在当前目录处理同样的字符串时是不同的,因此,很多用户倾向于先改变目录到要生成链接的位置,这样tab完成和别的文件解析工具可以用来发现要安置在符号链接的目标文件。
-r, --relative
create symbolic links relative to link location
创建相对于链接位置的符号链接。这个选项会计算TARGET相对于DIRECTORY的相对路径,在创建符号链接时很有用。
-s, --symbolic
make symbolic links instead of hard links
创建符号链接而不是硬链接。创建符号链接时,TARGET可以是任意文本,不一定要求是一个真实存在的文件或目录,如果 TARGET不存在,建立的链接就是“dangling symlink”。
其他选项不是很重要,就不介绍了。