Linux常见命令 14 – 软/硬连接命令 ln

导读:本篇文章讲解 Linux常见命令 14 – 软/硬连接命令 ln,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

目录

1. 软连接 ln -s

2. 硬连接 ln


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

1. 软连接 ln -s

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

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

特征:

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

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

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

2. 硬连接 ln

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

liu@SLR:/hd1/Dling/lane/Wmq/test$ ln hello.txt hello.txt.hard
liu@SLR:/hd1/Dling/lane/Wmq/test$ ls -lh
total 16K
-rw-rw-r-- 2 liu liu 4.2K 1月  19 22:17 hello.txt
-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个文件,所以可以同步更新。

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

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

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

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

liu@SLR:/hd1/Dling/lane/Wmq/test$ ln dir1  dir1.hard
ln: dir1: hard link not allowed for directory

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/87435.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!