基本命令学习 -(4)链接文件:ln命令

开源Linux

共 2834字,需浏览 6分钟

 ·

2021-03-02 22:00

关注「开源Linux」,选择“设为星标”
回复「学习」,有我为您特别筛选的学习资料~

前言

在Windows系统中,快捷方式是指向原始文件的一个链接文件,原文件一旦被删除或剪切到其他地方,会导致链接文件失效。

而Linux中的链接文件是不同于Windows的快捷方式,Linux的链接文件分为软链接与硬链接。

硬链接

可以把硬链接理解为“指向原始文件inode的指针”,系统不为它分配独立的inode和文件。硬链接文件与原文件其实是同一个文件,只是名称不同。

下面我们举个例子:

[root@qll ~]# ll -i /etc/passwd
67544416 -rw-r--r--. 1 root root 882 2月   5 11:50 /etc/passwd

使用ln命令在当前目录下创建/etc/passwd文件的硬链接,然后观察其文件属性:


[root@qll ~]# ln /etc/passwd passwd_test
[root@qll ~]# ll -i /etc/passwd passwd_test
67544416 -rw-r--r--. 2 root root 882 2月   5 11:50 /etc/passwd
67544416 -rw-r--r--. 2 root root 882 2月   5 11:50 passwd_test

可以看出,这两个文件名关联的inode号完全相同,都是67544416,所以它们指向的是同一个文件。

观察上面输出的第二个字段中的第一位,它们都是“-”,说明文件类型为普通文件,链接类型为硬链接。

观察第三个字段,由1变成了2。这个字段叫作“链接数”,它说明有多少个文件名链接到同一个文件的inode。

硬链接的特点及局限性

  • 几乎不额外占用空间

    硬链接只是在目录中添加一条包含文件名和对应inode的记录,所以它几乎不会额外占用磁盘容量

  • 只要还有一个文件名引用着文件,文件就不会被真正删除

  • 由于技术局限性,不能跨文件系统创建硬链接

  • 不能链接目录

软链接

仅仅包含所链接文件的路径名,因此能链接目录,也可以跨越文件系统进行链接。但是,当原始文档被删除后,链接文件也将失效,从这一点上来说与Windows系统中的“快捷方式”具有一样的性质。

还拿 /etc/passwd 文件举例子,这次创建一个软链接并查看其文件属性:

[root@qll ~]# ln -s /etc/passwd passwd_soft
[root@qll ~]# ll -i /etc/passwd passwd_soft
 67544416 -rw-r--r--. 1 root root 882 2月   5 11:50 /etc/passwd
100663362 lrwxrwxrwx. 1 root root  11 2月  19 17:51 passwd_soft -> /etc/passwd
  • 第一列可以出来,两个文件名对应的inode不同,说明这是两个文件。

  • 第二列显示的文件权限也不一样,这一点和硬链接完全不同。注意文件类型被标记为“l”,说明这是一个软链接文件。

  • 第三列,观察两个文件的链接数量,都是1。说明创建软链接并不增加原文件的链接数。

  • 第六列是文件大小,注意新建的软链接文件大小为11Bytes,也就是字符串“/etc/passwd”的长度。

  • 最后一列显示软链接文件指向的源文件。

ln 命令

1. 硬链接

[root@qll tmp]# ln /tmp/data.txt data2.txt #创建硬链接
[root@qll tmp]# rm -rf /tmp/data.txt       #删除源文件
[root@qll tmp]# cat data2.txt              #删除源文件后,链接文件仍可以正常使用

2. 软链接

[root@qll tmp]# ln -s /tmp/te.txt /tmp/te2.txt #创建文件软链接
[root@qll tmp]# ln -s /bin testbin             #创建目录软链接
[root@qll tmp]# rm -rf /tmp/te.txt             #删除源文件
[root@qll tmp]# cat /tmp/te2.txt               #删除源后,软链接无法使用
cat: te2.txt: 没有那个文件或目录

关注「开源Linux」加星标,提升IT技能

浏览 36
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报