搜索
您的当前位置:首页正文

【Linux课程学习】:站在文件系统之上理解:软硬链接,软硬链接的区别

来源:尚车旅游网

🎁个人主页:我们的五年

🔍系列专栏:Linux课程学习 

🌷追光的人,终会万丈光芒

🎉欢迎大家点赞👍评论📝收藏⭐文章

Linux学习笔记:

 https://blog.csdn.net/djdjiejsn/category_12669243.html

前言: 

本篇重点知识点:

1.文件名不保存在inode中,如何理解,我们如何找到文件inode?

2.删除文件的本质是什么?

本篇重点知识点:

一.预备知识:

1.1文件inode:

1.1.2为什么找到文件的inode就能找到文件的信息?

1.2文件的类别:

1.3文件的权限:

1.4文件硬链接数:

1.5其他:

二.软链接(soft link )(快捷方式)

2.1如何建立软链接:

2.2为什么说建立软链接会新建一个文件?

2.3软连接文件中的内容:

三.硬链接(hard link):

3.1理解硬链接:

3.2如何理解硬链接数:

3.3inode引用计数=硬链接数:

四.不同点和相同点:

4.1文件系统方面:

4.2内容方面:

4.3独立的inode方面:

4.4删除行为:

4.6权限方面:



一.预备知识:

这一块的知识是文件系统的知识,说起这个就谈了一下我理解的,后面会进行复习编写一篇理解文件系统,理解磁盘的博客。

1.1文件inode:

下面最前的是文件的inode,inode是每个文件的唯一标识符,在inode中保存着文件的属性,还有一张表,这张表指向的是data block表示文件占用的块。在磁盘中,应该扇区大小可能是512字节,8个扇区构成一个块,所以一个块的大小为4KB大小。以后进行操作,都是以块为单位进行操作。就算只操作这个块上的一个字节内存,也要把整个块加载到内存,然后再修改,写回磁盘。但是注意:文件名不保存在inode中。

ll -i :查看文件的inode

1.1.1那么如何找到它在哪一个目录?

1.1.2为什么找到文件的inode就能找到文件的信息?

1.2文件的类别:

新建一个普通文件以-开头;

建立软连接是开头;

1.3文件的权限:

后面的wrx,有三个,表示拥有者,所属组,和其他人的权限。-表示没有该权限。

1.4文件硬链接数:

1.5其他:

其他就表示文件的拥有者和所属组,还有文件的大小,文件包建立时间,文件名等信息。


二.软链接(soft link )(快捷方式)

会新建文件,有新的inode就表示新建了文件。该文件中保存着指向文件的路径。很像windows下的快捷方式。

2.1如何建立软链接:

ln表示link的缩写,s表示soft。所以表示软链接,记忆还是很好记的。下面就表示给dir1文件建立软连接,lg文件指向log.txt文件。

ln -s log.txt lg

2.2为什么说建立软链接会新建一个文件?

因为它有独立的inode!!!

下面我们建立了一个软链接,但是这个两个文件的inode不是同一个。这一点就可以证明软连接是新建了文件的。当我们在dir1写入内容是,cat打印dr,也可以显示我们刚刚写入的内容。这就有点像和快捷方式靠了。

2.3软连接文件中的内容:

软连接新建文件,有独立的inode,内容中保存目标文件的路径,类似于windows下的快捷方式。


三.硬链接(hard link):

3.1理解硬链接:

在上面说可以查看文件的硬链接数。硬链接不是一个独立的文件

ln:不加-s 就表示硬链接。

下面表示我们新建硬链接以后,该文件的inode和我们指向文件的inode是一样的,本质是建立文件与已经存在的文件的inode之间的映射关系,所以硬链接在磁盘上没有新建文件。

3.2如何理解硬链接数:

3.2.1为什么新建目录时,硬链接数是2?

3.2.2对于根目录的。。

那么1是干什么的,还是可以去探讨的,可能是启动程序的inode,啊哈哈哈哈哈哈哈哈哈哈。

3.3inode引用计数=硬链接数:

这个也很好理解,在磁盘中,inode来管理文件。找到inode,就能在磁盘中找到文件的属性和内容。我们每新建一个文件与inode关联,就是可以通过文件名找到文件的inode。所以inode就要有引用计数。当引用计数为0时,才能表示文件被删除。


四.不同点和相同点:

4.1文件系统方面:

软链接可以跨越不同的文件系统,而硬链接只能在同一个文件系统中创建。

磁盘可能被分成几个区,每一个区可能用的是不同的文件系统。当然不同的区可以用同样的文件系统。一套文件系统,就会有inode bitmap等其他东西进行管理。在不同的文件系统中,相同inode表示的是不同的文件。硬链接就是去建立与inode的关系,所以如果跨文件系统创建文件系统,就会出错。

4.2内容方面:

硬链接直接指向文件的数据,而不是文件名或路径。软连接的内容保存的是目标文件的路径。

4.3独立的inode方面:

软连接有独立的inode,是新的文件。但是硬链接还是指向的inode,没有新建。

4.4删除行为:

软链接删除不会影响目标文件,因为软链接的文件中保存的是目标文件的路径。但是当目标文件被删除时,或者找不到的时候,就会发生找不到。

4.5对目录方面:

4.6权限方面:

因篇幅问题不能全部显示,请点此查看更多更全内容

热门图文

Top