ln(link)

功能说明:连接文件或目录。

语  法:ln [-bdfinsv][-S <字尾备份字符串>][-V <备份方式>][--help][--version][源文件或目录][目标文件或目录] 或 ln [-bdfinsv][-S <字尾备份字符串>][-V <备份方式>][--help][--version][源文件或目录...][目的目录]

补充说明:ln指令用在连接文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,且最后的目的地并非是一个已存在的目录,则会出现错误信息。

参  数:
 -b或--backup  删除,覆盖目标文件之前的备份。
 -d或-F或--directory  建立目录的硬连接。
 -f或--force  强行建立文件或目录的连接,不论文件或目录是否存在。
 -i或--interactive  覆盖既有文件之前先询问用户。
 -n或--no-dereference  把符号连接的目的目录视为一般文件。
 -s或--symbolic  对源文件建立符号连接,而非硬连接。
 -S<字尾备份字符串>或--suffix=<字尾备份字符串>  用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,预设的字尾备份字符串是符号"~",您可通过"-S"参数来改变它。
 -v或--verbose  显示指令执行过程。
 -V<备份方式>或--version-control=<备份方式>  用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这个字符串不仅可用"-S"参数变更,当使用"-V"参数<备份方式>指定不同备份方式时,也会产生不同字尾的备份字符串。
 --help  在线帮助。
 --version  显示版本信息。

关于符号链接和硬链接的解释
每个文件都是用inode(Information Node或者index node)来表示的,inode含有文件的全部信息,但我们不能直接访问inode。每个inode通过一个或几个硬连接跟文件系统关联,所以我们才能通过文件系统访问数据。硬连接包含文件名和inode number。而inode就是文件本身的位置、访问权限、文件类型等。只要有inode number,系统就能把它找到。

一个文件可以有不止一个硬连接,也就是说不同的文件名可以指向同一个文件。但不能存在跨越文件系统的硬连接:所有对同一inode的直接引用必需在同一文件系统上,如果对某一个文件建立硬连接(就是对这个inode再建一个硬连接),你删除这个文件的时候,其实只是删除了其中一个硬连接,还可以通过其他硬连接访问,直到你删掉了所有硬连接,系统才会删除该inode。

而符号连接或者叫软连接,是一种特殊文件,它指向已加载的文件系统的一个硬连接。符号连接可以跨越文件系统。

总的说来,硬连接是一个文件名和一个inode number;文件是一个inode;符号连接是一个inode,内容包括一个硬连接的名字。符号连接建立文件名到另一个文件名的对应关系;而硬连接建立文件名到inode的对应关系。

对符号连接的操作有时候会影响这个符号连接自己的inode(含有硬连接名字的那个inode)信息,有时候会影响它指向的那个硬连接的内容。

目录可以建立符号连接,但不能建立硬连接。每个目录在它的父目录中都有硬连接,用.表示,在它的所有子目录中都有它的硬连接,用..表示,但不允许有其它到目录的硬连接存在。

你只能向一个存在的文件建立硬连接,因为它必需指向一个有效的inode number,但可以建立指向任何文件名的符号连接,不论这个文件是否存在。 

例子:
[localhost]#ls -il a.txt
244 -rw......
[localhost]#ln -s /root/my.txt a.txt
[localhost]#ln /root/my.txt b.txt
[localhost]#ls -il a.txt
3306 -rw....
[localhost]#ls -il b.txt
244 -rw..
看到硬连接和原文件共用同一个INODE,而软连接则创建一个新的接点号。
Tags: ,
FreeBSD | 评论(0) | 引用(0) | 阅读(9976)
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]