美文网首页
Linux命令日日说(九)-- ln

Linux命令日日说(九)-- ln

作者: spt_genius | 来源:发表于2020-03-17 01:50 被阅读0次

ln


语法

ln [options] source_file target_file

不同平台下的命令参数不一样,这里以Mac为例。具体参数参考具体平台。


参数

  • -F 如果目标文件已经存在并且是一个目录,请将其删除,以便可以进行链接。-F选项应该与-f-i一起使用。如果未指定,则隐含-f,除非指定了-s选项,-F选项是no-op。

  • -h 如果目标文件或目标目录是符号链接,请不要指向它。这对于-f选项非常有用,可以替换可能指向目录。

  • -f 如果目标文件已经存在,则取消链接,以便可以进行链接。(-f选项将覆盖以前的任何-i选项。)

  • -i 如果目标文件存在,则导致ln将提示写入标准错误。如果标准输入的响应以字符yy开头,则取消链接目标文件,以便可以进行链接。否则,不要尝试链接。(-i选项将覆盖以前的任何-f选项。)

  • -n-h相同,以与其他ln实现兼容。

  • -s 创建一个链接文件。

  • -v 显示创建链接的详细信息。

-h, -i, -n-v选项是非标准的不推荐在Shell脚本中使用。它们的存在只是为了版本的兼容。


Example

  • ln -s file1 file1_link

    创建一个链接文件。

    zzw:temp zzw$ ls
    file1 src
    zzw:temp zzw$ ln -s file1 file1_link
    zzw:temp zzw$ ls -al
    total 8
    drwxr-xr-x   5 zzw  staff  160  3 15 23:03 .
    drwxr-xr-x  31 zzw  staff  992  3 15 02:04 ..
    -rw-r--r--   2 zzw  staff    6  3 12 23:56 file1
    lrwxr-xr-x   1 zzw  staff    5  3 15 23:03 file1_link -> file1
    drwxr-xr-x   3 zzw  staff   96  3 15 22:52 src
    zzw:temp zzw$ stat -x file1_link
      File: "file1_link"
      Size: 5            FileType: Symbolic Link
      Mode: (0755/lrwxr-xr-x)         Uid: (  501/     zzw)  Gid: (   20/   staff)
    Device: 1,5   Inode: 69361057    Links: 1
    Access: Sun Mar 15 23:03:29 2020
    Modify: Sun Mar 15 23:03:29 2020
    Change: Sun Mar 15 23:03:29 2020
    
  • ln -f file1 file1_link

    取消一个软链,此时软链文件就变为了一个标准文件,你可以继续使用它。

    zzw:temp zzw$ ln -h file1 file1_link
    ln: file1_link: File exists
    zzw:temp zzw$ ls -al
    total 8
    drwxr-xr-x   5 zzw  staff  160  3 15 23:03 .
    drwxr-xr-x  31 zzw  staff  992  3 15 02:04 ..
    -rw-r--r--   2 zzw  staff    6  3 12 23:56 file1
    lrwxr-xr-x   1 zzw  staff    5  3 15 23:03 file1_link -> file1
    drwxr-xr-x   3 zzw  staff   96  3 15 22:52 src
    zzw:temp zzw$ ln -f file1 file1_link
    zzw:temp zzw$ ls -al
    total 16
    drwxr-xr-x   5 zzw  staff  160  3 15 23:07 .
    drwxr-xr-x  31 zzw  staff  992  3 15 02:04 ..
    -rw-r--r--   3 zzw  staff    6  3 12 23:56 file1
    -rw-r--r--   3 zzw  staff    6  3 12 23:56 file1_link
    drwxr-xr-x   3 zzw  staff   96  3 15 22:52 src
    zzw:temp zzw$ stat -x file1_link
      File: "file1_link"
      Size: 6            FileType: Regular File
      Mode: (0644/-rw-r--r--)         Uid: (  501/     zzw)  Gid: (   20/   staff)
    Device: 1,5   Inode: 69282173    Links: 3
    Access: Sun Mar 15 23:07:51 2020
    Modify: Thu Mar 12 23:56:25 2020
    Change: Sun Mar 15 23:07:50 2020
    

    如果不添加参数 file1 直接使用链接文件名,效果就有点不一样了。被直接删除了

    zzw:temp zzw$ ln -f file1_link
    ln: ./file1_link: No such file or directory
    zzw:temp zzw$ ls -al
    total 8
    drwxr-xr-x   4 zzw  staff  128  3 15 23:12 .
    drwxr-xr-x  31 zzw  staff  992  3 15 02:04 ..
    -rw-r--r--   2 zzw  staff    6  3 12 23:56 file1
    drwxr-xr-x   3 zzw  staff   96  3 15 22:52 src
    
  • ln -Fis file1 file1_link

    创建软链,存在则提示。

    zzw:temp zzw$ ls -al
    total 16
    drwxr-xr-x   5 zzw  staff  160  3 15 23:07 .
    drwxr-xr-x  31 zzw  staff  992  3 15 02:04 ..
    -rw-r--r--   3 zzw  staff    6  3 12 23:56 file1
    -rw-r--r--   3 zzw  staff    6  3 12 23:56 file1_link
    drwxr-xr-x   3 zzw  staff   96  3 15 22:52 src
    zzw:temp zzw$ ln -F file1 file1_link
    ln: file1_link: File exists
    zzw:temp zzw$ ln -Fis file1 file1_link
    replace file1_link? c^C
    zzw:temp zzw$ ln -Fi file1 file1_link
    replace file1_link? y
    zzw:temp zzw$ ls -al
    total 16
    drwxr-xr-x   5 zzw  staff  160  3 15 23:10 .
    drwxr-xr-x  31 zzw  staff  992  3 15 02:04 ..
    -rw-r--r--   3 zzw  staff    6  3 12 23:56 file1
    -rw-r--r--   3 zzw  staff    6  3 12 23:56 file1_link
    drwxr-xr-x   3 zzw  staff   96  3 15 22:52 src
    zzw:temp zzw$ ln -Fis file1 file1_link
    replace file1_link? y
    zzw:temp zzw$ ls -al
    total 8
    drwxr-xr-x   5 zzw  staff  160  3 15 23:10 .
    drwxr-xr-x  31 zzw  staff  992  3 15 02:04 ..
    -rw-r--r--   2 zzw  staff    6  3 12 23:56 file1
    lrwxr-xr-x   1 zzw  staff    5  3 15 23:10 file1_link -> file1
    drwxr-xr-x   3 zzw  staff   96  3 15 22:52 src
    
  • ln -sv file1 file1_link1

    看看-v参数的效果。

    zzw:temp zzw$ ln -sv file1 file1_link1
    file1_link1 -> file1    
    

相关文章

  • Linux命令日日说(九)-- ln

    ln 语法 不同平台下的命令参数不一样,这里以Mac为例。具体参数参考具体平台。 参数 -F 如果目标文件已...

  • Linux命令日日说(九)-- ln知识扩展

    ln 描述 Linux命令之 ln一文仅对命令做了参数的介绍。其中还有相关知识点和一些技巧在这里补充。 为何要使用...

  • ln -s 软链接

    linux 创建连接命令 ln -s 软链接linux-ln -s(链接)、mount(挂载 软连接和硬连接 硬链...

  • Linux 中的 ln 命令

    Linux ln 命令 Intro Linux 中的文件分为 Hard Link 和 Symbolic Link ...

  • linux命令 - ln

    功能 make links

  • linux ln 命令

    ln: 功能:为某一个文件在另外一个位置建立一个链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 ...

  • Linux ln 命令

    Linux 中的文件分为 Hard Link 和 Symbolic Link 两种。Hard Link 文件又被称...

  • Linux ln 命令

    Linux 中的文件分为 Hard Link 和 Symbolic Link 两种。Hard Link 文件又被称...

  • Linux ln命令

    ln命令: 在很多情况下都会用到 ln 命令,作用在于基于原来的文件,创建一个链接,无论是软链接还是硬链接。 1....

  • linux命令-ln

    ln 原单词 link(链接)ln 命令可以为某一个文件在另外一个位置建立一个同步的链接。不会重复的占用磁盘空间。...

网友评论

      本文标题:Linux命令日日说(九)-- ln

      本文链接:https://www.haomeiwen.com/subject/ujbiehtx.html