功能说明

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

语 法

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

选项含义

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

  ln命令用在连接文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,且最后的目的地并非是一个已存在的目录,则会出现错误信息。ln命令会保持每一处链接文件的同步性,也就是说,改动其中一处其他地方的文件都会发生相同的变化。

  ln的链接分为软链接和硬链接。软链接只会在目的位置生成一个文件的链接文件,实际不会占用磁盘空间,相当于Windows中的快捷方式。硬链接会在目的位置上生成一个和源文件大小相同的文件。无论是软链接还是硬链接,文件都保持同步变化。软链接是可以跨分区的,但是硬链接必须在同一个文件系统,并且不能对目录进行硬链接,而符号链接可以指向任意的位置。

 #创建软链接   
[root@CentOS ln]# ln -s /data/ln/src /data/ln/dst
  
[root@CentOS ln]# ls -l
  
[root@CentOS ln]# echo "src" >src

  
#当源文件内容改变时,软链接指向的文件内容也会改变
  
[root@CentOS ln]# cat src
  
[root@CentOS ln]# cat dst

  
#创建硬链接
  
[root@CentOS ln]# ln /data/ln/src /data/ln/dst_hard

  
#查看文件硬链接信息
  
[root@CentOS ln]# ls -l
  
[root@CentOS ln]# cat dst_hard

  
#删除源文件
  
[root@CentOS ln]# rm src
  
[root@CentOS ln]# ls

  
#硬链接指向的文件内容已经不存在
  
[root@CentOS ln]# cat dst

  
#硬链接文件内容依然存在
  
[root@CentOS ln]# cat dst_hard
  
[root@CentOS ln]# cd..
  
[root@CentOS data]# mkdir ln2

  
#对某一目录中的所有文件和目录建立链接
  
[root@CentOS data]# ln -s /data/ln/* /data/ln2
  
[root@CentOS data]# ls -l ln2

  硬链接指向的文件进行读写和删除操作的时候,效果和符号链接相同。删除硬链接文件的源文件,硬链接文件依然存在,可以将硬链接指向的文件认为是不同的文件,只是具有相同的内容。