登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

云之南

风声,雨声,读书声,声声入耳;家事,国事,天下事,事事关心

 
 
 

日志

 
 
关于我

专业背景:计算机科学 研究方向与兴趣: JavaEE-Web软件开发, 生物信息学, 数据挖掘与机器学习, 智能信息系统 目前工作: 基因组, 转录组, NGS高通量数据分析, 生物数据挖掘, 植物系统发育和比较进化基因组学

Linux中ln命令用法详解  

2011-07-08 19:10:12|  分类: linux&shell |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
  1. 硬连接指向的是节点(inode),是已存在文件的另一个名字,修改其中一个,与其连接的文件同时被修改;对硬链接文件进行读写和删除操作时候,效果和符号链接相同。但如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了原有的内容。这时,系统就“忘记”了它曾经是硬链接文件,而把他当成一个普通文件。
复制代码



用法:ln [选项]… [-T]源文件 链接名 (第一种格式)

或:ln [选项]… 源文件 (第二种格式)

或:ln [选项]… 源文件 … 目录 (第三种格式)

或:ln [选项]… -t 源文件夹 链接名… (第四种格式)

在第一种格式中,创建指定名称的链接且指向指定的源文件。

在第二种格式中,在当前目录创建指向源文件的链接。

在第三、四种格式中,在指定目录中创建指向源文件的链接。

默认创建硬链接,当使用–symbolic 时创建符号链接。

当创建硬链接时文件必须在同一个文件系统,并且不能对目录进行硬链接。符号链接可以指向任意的位置,

选项说明:

–backup[=CONTROL] 为每个已存在的目标文件创建备份文件

-b 类似–backup,但不接受任何参数

-d, -F, –directory 创建指向目录的硬链接(只适用于超级用户,而且有不可预知的风险,慎用哦)

-f, –force 强行删除任何已存在的目标文件

-n, –no-dereference 如果目的地是一个已存在的链接至某目录的符号链接,会将

该符号链接当作普通文件处理,先将该已存在的

链接备份或删除

-i, –interactive 询问是否删除目的地文件

-s, –symbolic 创建符号链接而不是硬链接

-t, –target-directory=目录 在指定目录中创建链接

-T, –no-target-directory 将链接名当作普通文件(在对目录进行符号链接时要用到此选项)

举例:

1.对某个文件创建一个连接

$ln -s /tmp/abc.txt ~/

此命令表示在家目录下创建与源文件同名的链接到/tmp/abc.txt符号连接

$ln -s /tmp/abc.txt ~/abc

 http://bbs.phpchina.com/viewthread.php?tid=214812


LINUX LS 建立连接的一些问题总结

http://hi.baidu.com/forrestyx/blog/item/5233d1ef3f5a97232df534dd.html

ls 建立的连接分为 软连接和硬连接
1.硬链接文件和原文件指向同样的数据,两者就像科隆一样,inode号也相同,当删除原文件 时,硬链接文件仍然存在有效。但硬链接文件不同于文件的复制。应该说硬链接文件的产生只是原文件所在目录文件的内容发生改变,原文件的数据并没有得到复 制,而复制文件,磁盘上有两份数据。简单说,硬链接就是一个类似于别名的概念。当原来的名字没有了,别名照样可以使用。
认识了硬链接究竟是怎么一回事,理解硬链接的两个限制就容易多了。
(1)不允许给目录创建硬链接;
(2)只有在同一文件系统中的文件之间才能创建链接。
2.软连接和windows系统的快捷方式含义一样,不做多的解释。软链接和原文件的inode不同,该文件的内容是指向原文件的路径信息。软链接就好像是指针一样。而硬链接就是引用。
3.思考:对于文件系统而言,增加一个硬链接文件与增加一个软链接文件,哪种方式将使用的空间多。 当然是软连接

使用:

1>为了创建到一个文件的另一个链接(别名),请输入:

ln    -f file1    file2
这会将 file1 链接到新的名称, file2。如果 file2 不存在,那么会创建该文件名。如果 file2 已经存在了,那么这个文件会被替换为指向 file1的一个链接
。然后 file1 和 file2 文件名会指向同一个文件。对其中任何一个的更改都会出现在另一个中。如果一个文件名被 rm 命令删除,那么该文件并没有完全被删除,因为它仍然以其它的名字存在。


2>为了将文件链接为另一个目录中的相同名字,请输入:

ln    index    dir1
这会将 index 链接到新的名称,dir1/index


注意:在示例 1 中的 file2 是一个文件的名称;在示例 2 中的 dir1 是一个已经存在的目录。

3>为了将几个文件链接为另一个目录中的名称,请输入:

ln    file2    dir2/file3    /home/dir1
这会将 file2 链接到新的名称 /home/dir1/file2;将 dir2/file3 链接到新的名称 /home/dir1/file3。


4>如果想要在 ln 命令中使用模式匹配字符,请输入:

ln    dir1/* .
这会将 dir1 目录中的所有文件链接到当前目录中, . (点),给他们在 dir1 目录中同样的名称


注意: 必须在星号和句点之间输入一个空格。

5>为了创建一个符号链接,输入:

ln -s /tmp/test test

这会在当前的目录中创建符号链接 test。 test 文件指向 /tmp/test 文件。如果 /tmp/test 文件已经存在了,那么 cat test 命令可以列出其内容。

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

ln -s /tmp/test

@@@@问题: 建立连接之后出现error: 连接层数太多(采用相对路径的原因)
解决: 源和目标均采用绝对路径


  评论这张
 
阅读(3555)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018