文件系统及工作原理,硬链接与软链接及其示意图,重点总结

文件系统

文件是什么/文件系统是什么

文件是操作系统提供给用户/应用程序操作硬盘的一种功能
文件系统是操作系统内核中负责组织管理硬盘的程序,文件系统提供了文件的概念,文件系统控制硬盘

应用程序
操作系统: 文件系统(文件)
计算机硬件:硬盘
每个分区对应一个文件系统,文件系统种类可以不同。
操作系统:	文件系统1	文件系统2	文件系统3
硬盘:		 分区1		 分区2		 分区3

日志文件系统

linux系统中的文件系统 也叫 日志文件系统(读写数据的时候会记录日志):
    ext3
    ext4(centos6默认)
    xfs(centos7默认,目前主流)
    btrfs(效率更高,但非常耗cpu)

windows系统的文件系统:
	FAT32
	NTFS

文件系统工作原理

文件由两部分内容组成:文件的原信息和文件的实际内容
	1、文件的原信息放置到inode区块中	(一个文件对应唯一一个inode。inode存有block的编码)
	2、文件的实际内容放置到data block区块中	(文件过大会被分配多个block块,即一个文件可能对应多个block块的号码)
	ps:每个inode与block都有自己的编号
	
超级区块(superblock):记录整个档案系统的整体信息,包括inode与block的总量、使用量、剩余量等

所有的文件查找都是通过超级区块(superblock)先找到inode,再通过inode找到data block
从superblock拿到inode的编号,在通过inode拿到data block编号。最后找到data block(文件的实际内容)

# 超级区块相当于大管家有所有文件的信息,一个文件由inode和data block组成。
ls -di 文件路径		-d查看文件信息,i是inode编号

硬链接和软链接

硬链接

硬链接:硬链接指通过inode号进行连接。
ln 源文件路径 目标文件夹路径		(设置硬链接)
通过rm -rf 硬链接文件夹路径	删除硬链接

硬链接知识点提炼

1.硬链接文件与源文件具有相同inode的不同文件名:一个文件只能有一个inode号,但多个文件的inode号可以相同(多个硬链接一个文件)
2.删除硬链接,不影响另一个文件名的访问,除非所有的都删除掉,所以硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。
3.删除所有硬链接,数据会在被磁盘检查或者新数据写入时候删除回收。
4.通过ln 源文件路径 目标文件夹路径 设置硬链接
5.通过rm –f 删除硬链接
6.目录不可创建硬链接,并且硬链接无法跨区

软链接

软链接:符号链接
软链接文件有类似于windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
ln -s 源文件路径 目标文件夹路径		(创建软连接)
通过rm -f 删除软链接

软链接知识点提炼

1、软链接文件与源文件具有不同的inode号
*2、删除软链接文件的源文件,软链接文件将无法使用,软链接作用:
	-1、软件升级	(因为软链接指向的是文件名,所以不受文件改变的影响)
	-2、企业代码发布
	-3、不方便目录移动
3、删除源文件后,软链接文件无效,应该也一起删除掉,以便回收
4、执行ln -s 源文件路径 目标文件夹路径 创建软连接
5、rm -f 删除软链接
6、可以对目录创建软链接,并且软链接可以跨分区

软链接与硬链接的区别

1、软链接相当于在源文件上创建了快捷方式,软链接指向文件名,而硬链接直接指向源文件inode
2、默认不带参数情况下,ln命令创建的是硬链接,ln -s 创建的是软链接
3、硬链接文件与源文件的inode编号节点相同,而软链接文件的inode编号与源文件不同
4、ln命令不能对目录创建硬链接,但可以创建软连接,对目录的软连接会经常被用到
5、删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状)
6、软链接可以跨文件系统,硬链接不可以跨文件系统

硬链接与软链接示意图

文件系统及工作原理,硬链接与软链接及其示意图,重点总结

今日重点总结

命令:
df	显示目前linux系统上的文件系统磁盘使用情况
df 文件路径		显示某文件在文件系统磁盘上的使用情况
df -i	看inode号有没有用满,用了多少
df -h	看空间有没有用满,使用情况
df -T	type种类,显示属于什么类型
ln 源文件路径 目标文件夹路径		(设置硬链接)
ln -s 源文件路径 目标文件夹路径		(创建软连接)
stat 文件路径		查看文件信息(有inode)

一个文件包含inode和data block。inode是文件记录信息/属性,data block是文件实际内容
软链接指向的是源文件文件名,相当于是快捷方式。
硬链接指向的是源文件的inode,相当于调用同一个文件inode和实际内容/真实目标文件。
硬链接删除源文件,硬链接还存在,目标文件还能用,只要还有硬链接数,源文件的inode和实际内容还会存在。除非把硬链接和源文件都删除。才会回收inode编号
硬链接不能跨分区建,因为硬链接指向的是inode号,但每个分区的inode号都是独立的/指向不同的文件。
软链接可以跨分区键,因为软链接指向的是文件名。
*硬盘满了可以通过软链接加挂载后的硬盘进行扩容。
上一篇:深入理解Linux文件系统与日志分析


下一篇:Linux课程实验总结