免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1181 | 回复: 0
打印 上一主题 下一主题

ln 命令 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-18 21:49 |只看该作者 |倒序浏览
ln 命令
   
用途  链接文件。
语法将某个文件链接到一个文件上
ln [  
-f
|
-n
] [  
-s  
] SourceFile [ TargetFile  ]
将一个或多个文件链接到一个目录上
ln [  -f
|
-n
] [  
-s  
] SourceFile  ... TargetDirectory
描述
ln 命令将在 SourceFile 参数中指定的文件链接到在
TargetFile 参数中指定的文件,或将其链接到在 TargetDirectory 参数中指定的另一个目录中的文件。在缺省情况下,ln 命令会创建硬链接。
如果需要使用 ln 命令来创建符号链接,请指明 -s 标志。
符号链接是指向文件的一个间接指针;它的目录项中包含了它所链接的文件名。
符号链接可能会跨越文件系统,可能指向目录。
如果正在将某个文件链接到新的名字,那么只能列出一个文件。
如果链接到一个目录,那么可以列出多个文件。
TargetFile 参数是可选的。
如果不指定目标文件,ln 命令会在当前的目录中创建一个新的文件。
新的文件继承了指定在 SourceFile 参数中的文件名。
请参阅示例 5。
注意:
  • 如果不使用 -s 标志,就不能在文件系统之间链接文件。
    如果 TargetDirectory 已经是链接到目录上的一个符号链接,那么 ln 命令将现有的目标视为文件。这意味着,类似于 ln -fs somepath/lname symdir 的命令不会遵循现有的
    symdir 符号链接,作为代替,它会创建一个从 somepath/lname 到 symdir 的新的符号链接。
    标志
    -f
      促使 ln 命令替换掉任何已经存在的目的路径。
    如果目的路径已经存在,而没有指定 -f 标志,ln 命令不会创建新的链接,而是向标准错误写一条诊断消息并继续链接剩下的 SourceFiles。
    -n
    指定,如果链接是一个现有的文件,那么不要覆盖文件的内容。
    -f 标志重设了这个标志。
    这是缺省的行为。
    -s
      促使 ln 命令创建符号链接。
    符号链接中包含了它所链接的文件的名字。当对链接执行打开操作的时候,会使用到引用文件。
    对符号链接的 stat 调用会返回链接的目标文件;必须完成lstat 调用来获取链接的信息。可以使用 readlink 调用来读取符号链接的内容。
    符号链接可能跨越文件系统,指向目录。
    注意:当为 -s 标志指定 SourceFile 参数的时候,必须使用绝对路径。
    如果没有指明绝对路径,那么当 SourceFile 和 TargetFile 参数位于不同的目录中的时候,可能会发生意外的结果。在创建符号链接之前,不需要存在源文件。
    退出状态
    此命令返回以下的退出值:
    0
      所有指定的文件都成功链接上了。
    >0
      出现一次错误。
    示例
  • 为了创建到一个文件的另一个链接(别名),请输入:
    ln  -f chap1  intro 这会将 chap1 链接到新的名称,
    intro。如果 intro 不存在,那么会创建该文件名。如果 intro 已经存在了,那么这个文件会被替换为指向 chap1的一个链接。然后 chap1 和 intro 文件名会指向同一个文件。对其中任何一个的更改都会出现在另一个中。
    如果一个文件名被
    rm
    命令删除,那么该文件并没有完全被删除,因为它仍然以其它的名字存在。
  • 为了将文件链接为另一个目录中的相同名字,请输入:
    ln  index  manual 这会将 index 链接到新的名称,manual/index。

    注意:在示例 1 中的  intro 是一个文件的名称;在示例 2 中的  manual 是一个已经存在的目录。
  • 为了将几个文件链接为另一个目录中的名称,请输入:
    ln  chap2  jim/chap3  /home/manual 这会将 chap2 链接到新的名称 /home/manual/chap2;将 jim/chap3 链接到新的名称 /home/manual/chap3。
  • 如果想要在 ln 命令中使用模式匹配字符,请输入:
    ln  manual/* . 这会将 manual 目录中的所有文件链接到当前目录中,
    . (点),给他们在 manual 目录中同样的名称。

    注意: 必须在星号和句点之间输入一个空格。
  • 为了创建一个符号链接,输入:
    ln -s /tmp/toc toc 这会在当前的目录中创建符号链接 toc。 toc 文件指向
    /tmp/toc 文件。如果 /tmp/toc 文件已经存在了,那么 cat toc 命令可以列出其内容。

    如果想要在不指明 TargetFile 参数的情况下得到相同的结果,请输入:

    ln -s /tmp/toc
                   
                   
                   

    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/77929/showart_1205703.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP