当前位置:   article > 正文

Linux常见命令 14 - 软/硬连接命令 ln_linux ln -s

linux ln -s

目录

1. 软连接 ln -s

2. 硬连接 ln


目前Linux中比较常用的是软连接,硬连接不常用,掌握基本的软连接常识即可

1. 软连接 ln -s

语法:ln -s  [源文件] [目标文件]

  1. liu@SLR:/hd1/Dling/lane/Wmq/test$ ln -s hello.txt hello.txt.soft
  2. liu@SLR:/hd1/Dling/lane/Wmq/test$ ls -lh
  3. total 8.0K
  4. -rw-rw-r-- 1 liu liu 4.2K 1月 19 22:17 hello.txt
  5. lrwxrwxrwx 1 liu liu 9 1月 19 22:17 hello.txt.soft -> hello.txt

特征:

  • 软连接就类似于windows的快捷方式,在MobaXterm中可视化为一个小箭头

        

  •  链接文件前面的标识均为:lrwxrwxrwx。其中l标识链接,三种用户均为最高级别 rwx
  • 链接的文件大小只为符号链接大小,与源文件大小无关
  • 上面代码段中最后一行展示的文件为:hello.txt.soft -> hello.txt,箭头指向源文件
  • 如果源文件丢失,软连接也就不能访问了

2. 硬连接 ln

语法:ln [源文件] [目标文件]

  1. liu@SLR:/hd1/Dling/lane/Wmq/test$ ln hello.txt hello.txt.hard
  2. liu@SLR:/hd1/Dling/lane/Wmq/test$ ls -lh
  3. total 16K
  4. -rw-rw-r-- 2 liu liu 4.2K 1月 19 22:17 hello.txt
  5. -rw-rw-r-- 2 liu liu 4.2K 1月 19 22:17 hello.txt.hard

特征:

1. 进行硬连接本质上是进行两步操作:拷贝+同步更新,如果源文件进行更新,则硬连接对应的文件内容也会实时更新

2. 如果源文件丢失,硬连接依旧可以访问。因为它进行了拷贝的操作

3. 软硬连接可通过i节点识别。如代码段所示,软连接与源文件节点不同,但硬连接与源文件i节点相同,由于一个文件一定有一个i节点,但是一个i节点不一定只对应一个文件。硬链接一个i节点对应多个文件。当把一个文件删除,另外一个文件依旧存在。且两个文件能够同步更新,因为当对文件进行写操作的时候在内核层面上的操作针对i节点,但是i节点能够同时映射到2个文件,所以可以同步更新。

  1. liu@SLR:/hd1/Dling/lane/Wmq/test$ ls -i
  2. 92230489 hello.txt 92230489 hello.txt.hard 92230490 hello.txt.soft

4. 不能跨分区进行连接。比如 把 /home 目录下的文件连接到 /boot 目录下,这是不允许的。但是软连接是允许的,如下代码段所示:

  1. liu@SLR:/hd1/Dling/lane/Wmq/test$ ln hello.txt /home/liu/hello.txt.hard
  2. ln: failed to create hard link '/home/liu/hello.txt.hard' => 'hello.txt': Invalid cross-device link

5. 硬连接不可以针对目录使用,只能针对文件。如下代码段所示:

  1. liu@SLR:/hd1/Dling/lane/Wmq/test$ ln dir1 dir1.hard
  2. ln: dir1: hard link not allowed for directory
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/741478
推荐阅读
相关标签
  

闽ICP备14008679号