ln (Unix)
ln 是用来为文档创建链接的标准 Unix 命令。
链接文档
通过链接文档,不同的文档名可以指向同一个文档。
ln 可以创建两种类型的链接文档:
参数
- 源文档:指定链接的源文档。如果使用-s选项创建符号链接,则“源文档”可以是文档或者目录。创建硬链接时,则“源文档”参数只能是文档;
- 目标文档:指定源文档的目标链接文档。
从以下命令示例可看出两种链接文档的区别:
$ echo '文档内容' > oringinal.file
$ ln oringinal.file hardlink.file
$ ln -s oringinal.file softlink.file
$ cat softlink.file
文档内容
$ rm oringinal.file
$ cat softlink.file
cat: softlink.file: 没有那个文档或目录
$ cat hardlink.file
文档内容
原始文档被删除后,符号链接将失效,访问软链接时,会提示找不到文档,但硬链接文档还在,而且还保存有原始文档的内容。按照inode的设计理论,硬链接的文档和原始文档对应相同的inode号,共享同一个数据储存区,而符号链接是一个独立的特殊文档,有自己的文档inode号,而内容为指向原始文档的路径。
规范
单一Unix规范(SUS)规定了创建一个原始文档(或目录)的链接(不管是符号链接还是硬链接)文档时的行为。
ln 可以用两种方式使用。第一种,是第一个参数指定原始文档,第二个参数指定链接文档;第二种,指定多于两个选项,应该先是多个原始文档(或目录),最后指定一个目录,所有原始文档(或目录)的链接将会被创建于最后指定的目录里。在后一种方式中,ln 命令的行为和具体的进程实现有关。
ln 和标准的 unlink() 和 link() 函数执行完全一致的操作,详细的 ln 命令用法,可以执行以下两个命令查询:
$ man ln
$ ln --help
参见
- Unix实用进程列表
- NTFS junction point
外部链接
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.