LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 15501|回复: 14

文件链接命令ln[转帖]

[复制链接]
发表于 2002-8-22 00:51:23 | 显示全部楼层 |阅读模式
文件链接命令


ln命令

  该命令在文件之间创建链接。这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称。对于这个新的文件名,我们可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题。

  如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名。而且,即使我们删除这个链接,也不会破坏原来的目录。

  语法:ln [选项] 目标 [链接名]

     ln [选项] 目标 目录

  链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。而对符号链接,则不存在这个问题。默认情况下,ln产生硬链接。

  在硬链接的情况下,参数中的“目标”被链接至[链接名]。如果[链接名]是一个目录名,系统将在该目录之下建立一个或多个与“目标”同名的链接文件,链接文件和被链接文件的内容完全相同。如果[链接名]为一个文件,用户将被告知该文件已存在且不进行链接。如果指定了多个“目标”参数,那么最后一个参数必须为目录。

  如果给ln命令加上- s选项,则建立符号链接。如果[链接名]已经存在但不是目录,将不做链接。[链接名]可以是任何一个文件名(可包含路径),也可以是一个目录,并且允许它与“目标”不在同一个文件系统中。如果[链接名]是一个已经存在的目录,系统将在该目录下建立一个或多个与“目标”同名的文件,此新建的文件实际上是指向原“目标”的符号链接文件。

  例:$ ln - s lunch /home/xu

  用户为当前目录下的文件lunch创建了一个符号链接/home/xu。
发表于 2004-7-1 01:04:03 | 显示全部楼层
要恶补啊
发表于 2004-11-7 09:45:02 | 显示全部楼层
不错,学习一下:p
发表于 2004-11-7 11:00:52 | 显示全部楼层
请问一下 ln 有个-d 的参数,是硬链接目录的,但是有可能因为系统的限制,不可以这么做。不明白为什么不允许这么做呢?
硬链接目录的话,有什么后果?
发表于 2005-1-2 10:24:41 | 显示全部楼层
最后面的那个示例似乎有问题,
"例:$ ln - s lunch /home/xu

  用户为当前目录下的文件lunch创建了一个符号链接/home/xu。"
这样做的时候,创建出的符号链接会变成 lunch,而不是'当前目录/lunch',结果会变成错误链接。
      我用的时候目标必须写成绝对路径,否则会链接错误。
      还有,我用一个不存在的文件来作为目标的时候,链接依然可以被创建,但是是一个错误链接,无法找到目标。
      不知道是不是这样,呵呵,希望得到回复。
发表于 2005-1-2 12:10:57 | 显示全部楼层
如果lunch不以绝对路径写的话,就会以相对路径做链接,所以lunch和/home/xu应该位于同一目录中。类似这么用的如:
ln -s gcc /usr/bin/cc
ln -s  ../sbin/killall5 /bin/pidof
都是以相对路径做链接的,所以目标并不必须以绝对路径写
发表于 2005-3-22 22:29:27 | 显示全部楼层
好,这个命令弄懂了。:p
回复 支持 反对

使用道具 举报

发表于 2005-5-28 15:07:06 | 显示全部楼层
3ks !
回复 支持 反对

使用道具 举报

发表于 2005-6-11 10:21:48 | 显示全部楼层
怎样创建一个到目录的链接?
回复 支持 反对

使用道具 举报

发表于 2005-6-11 10:50:00 | 显示全部楼层
请问:用ampsleep命令的后,再如何唤醒??
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表