LINUX

Ubuntu Linux ln命令用法详解

日期:2015/6/28来源: IT猫扑网

  用法: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

  此命令表示在家目录下建立链接到/tmp/abc.txt 并且名字为abc的符号连接(前提是在家目录下没有abc这个目录)

  2.对某个目录创建符号连接

  $ln -sT /tmp ~/abc

  此命令表示在家目录下创建一个链接到/tmp目录的名字为abc的符号连接。

  $ln -sT /tmp ~/

  此命令表示在家目录下创建一个与源文件夹同名的符号连接

  3.对某个文件创建一个硬连接

  $ln /tmp/abc.txt ~/

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

  $ln /tmp/abc.txt ~/abc

  此命令表示在家目录下建立链接到/tmp/abc.txt 并且名字为abc的硬链接(前提是在家目录下没有abc这个目录)

  附注:硬链接和符号链接

  简而言之,符号链接相当于windows中的快捷方式,硬链接相当于一个灾备系统,数据存放在两处,与复制不同的是两处之间存在同步机制,一处数据的改变会实时同步到另一处,另外,一处数据如果被删除了,不会影响到另一处的数据.下面是详细的介绍:

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

  硬链接文件有两个限制:

  1、不允许给目录创建硬链接;

  2、只有在同一文件系统中的文件之间才能创建链接。

相关文章

相关下载

网友评论

我要评论...
    没有更早的评论了
    取消