Linux基础内容(17)—— 软硬链接

Linux基础内容(16)—— 文件系统_哈里沃克的博客-CSDN博客icon-default.png?t=N2N8https://blog.csdn.net/m0_63488627/article/details/129898469?spm=1001.2014.3001.5501

目录

软硬链接

        1.软链接

        2.硬链接

        3.理解硬链接

        4.理解软链接

        5.应用

                1.通过软链接快速执行文件

                2.硬链接的里外访问


软硬链接

1.软链接

指令:ln -s 存在的文件 软链接文件名

Linux基础内容(17)—— 软硬链接_第1张图片

软链接的inode与原文件不同,意味着软链接的文件跟源文件不是同一个文件。 

2.硬链接

指令:ln 存在的文件 硬链接文件名

Linux基础内容(17)—— 软硬链接_第2张图片

inode与原文件一致,说明它两是同一个文件 

3.理解硬链接

Linux基础内容(17)—— 软硬链接_第3张图片

首先观察上面的操作,重定向字符到原文件中,不难发现硬链接的文件大小和原文件的大小一模一样,而且inode也一样, 两个文件内容也一样,那么能知道其实硬链接就是原文件。由此知道建立硬链接,并没有创建新的文件,因为OS并没有为其分配inode,没有创建文件意味着,硬链接没有自己的属性集合和内容集合,它用的是原文件的内容和属性集合。

从逻辑结构解释一下
1.inode没有变化说明硬链接文件的东西全是原文件的东西

2.两个一样的inode对应了图中有一个数变成2了,这个2数是硬链接数

3.其实,目录存储文件名和文件的inode映射,那么硬链接就是将inode的映射和硬链接文件名连接在一起,随后把硬链接数加一,这个数是智能指针

Linux基础内容(17)—— 软硬链接_第4张图片

4.硬链接文件删除,原文件不会被删除,但是对应的硬链接数减一;

5.原文件删除,硬链接的文件也还会存在,同样的对应的硬链接数减一;

6.文件删除的表现:当文件的硬链接数变为0,这个文件才被彻底删除。

4.理解软链接

1.软链接的inode与原文件不同,说明软链接的内容和原文件不同

2.软链接文件的作用是找到原文件,也就意味着其实软链接的内容是原文件的地路径

3.删除原文件,软链接文件就找不到原文件,该文件就失效了

Linux基础内容(17)—— 软硬链接_第5张图片

4.重新加载一个新的文件,链接会对上,但是文件不是原来的文件了

Linux基础内容(17)—— 软硬链接_第6张图片 5.本质是查地址找文件,对应的Windows其实是快捷方式的功能实现 

5.应用

1.通过软链接快速执行文件

执行文件可能在很深的路径中,只要我们软链接此文件在自己觉得方便的路径下,这样执行文件只需要打开软链接就可执行指定文件。

2.硬链接的里外访问

1.想要回到上层目录调用cd ..

2.当下的目录调用即为cd  .

3.其实仔细观察目录文件的硬链接数,不难看出:当叶目录的链接数为1,因为 .就是当前目录,它自己就是一个链接;而上层的目录就有多个链接数,因为不仅包括上层文件自己,也包括里面的目录中..文件的硬链接。

Linux基础内容(17)—— 软硬链接_第7张图片

特别的,操作系统不会让用户对目录创造硬链接,因为操作系统对用户不信任。 

你可能感兴趣的:(linux,服务器,centos)