Linux之ln命令详解


  


NAME
       ln - make links between files

SYNOPSIS
       ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
       ln [OPTION]... TARGET                  (2nd form)
       ln [OPTION]... TARGET... DIRECTORY     (3rd form)
       ln [OPTION]... -t DIRECTORY TARGET...  (4th form)

软连接和硬链接:

软连接文件的一种快捷方式,有自己的inode文件节点,并在磁盘上有一小片空间存放路径名;硬链接则是一个文件有多个别名,系统并不为它重新分配inode。软连接可以对目录进行连接;硬连接不行。

 

参数:

  1. -f:   --force    remove existing destination files
  2. -n: --no-dereference    treat LINK_NAME as a normal file if it is a symbolic link to a drectory
  3. -s: --symbloic  make symbolic links instead of hard links
  4. -v: --verbose print name of each linked file

 

*******************************************************************************************************

建立到文件的软链接:

  1. ln -sv TARGET LINK_NAME

     

  2. ln -svf TARGET LINK_NAME

    覆盖原有软连接

 

*******************************************************************************************************

建立到目录的软链接:

  1. ln -sv TARGET LINK_NAME

    LINK_NAME不存在时,会直接创建软连接

     

  2. LINK_NAME存在,且为一个目录时,会在目录下生成连接文件,且连接文件的目标为命令中给出的路径,如果是相对路径,则发生错误,故使用相对路径时,谨慎

     

     

     



  3. -f 选项是不能覆盖非连接文件类型的,下图中使用-f选项,但是mm目录并未被覆盖

     

  4. 使用rm删除连接文件的时候,如果连接文件指向目录,则加倍小心带/和不带/区别
    带/删除的是连接文件指向的目录
    不带/才是删除连接文件本身

     

     上图中b为指向目录的一个连接文件

  5.  

    如果要覆盖指向目录的连接文件则必须使用-n选项,否则ln会在连接文件指向的目录下创建新的连接文件,这通常不是我们所期望的,-n选项标明把连接文件作为普通文件对待,进行覆盖

     

     上图示例中,在xx这个连接文件所指向的目录下,建立了以$(basename TARGET)为新名字的连接文件

  6. 覆盖指向目录的连接文件使用-n参数

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM