Linux文件系统


文件系统介绍

文件系统filesystem,它存在于系统内核当中,是操作系统的重要组成部分,负责存储和管理文件信息的机构,本质来说也是管理文件的应用程序,通常我们称呼一个可被挂载的资料为一个文件系统而不是一个分区。xfs、ext4、ext3,他们都是日志文件系统,(特点是文件系统会将没提交的数据变化保存到日志文件,以便在系统奔溃或者掉电时恢复数据)

1.1挂载的概念

当要使用某个设备时,例如要读取硬盘中一个格式化好的分区、光盘或软件等设备时,必须先把这些设备对应到某个目录上,而这个目录就称为挂载点,这样才可以读取这些设备,而这些对应的动作就是挂载。将物理分区细节屏蔽掉。用户只有统一的逻辑概念。

文件系统工作原理

一个文件是由两部分组成:

1、文件的元信息,例如权限、拥有者、创建者、群组、时间参数等
2、文件的实际内容

文件系统又通常会将这两部分分别存放在不同的区块

1、文件的元信息存放在inode区块当中
2、文件的实际啊内容存放到data blok区块当中
(另外文件还有一个超级区块(superblocl)它负责记录整个档案系统的整体信息,包括inode和data block的总量、使用量、剩余量等)
ps:文件存储在硬盘中,硬盘中最小的存储单位叫扇区(Sector),每个扇区能存512字节(大约只有0.5KB),在读取硬盘的时候,不会一个一个扇区地读取,这样效率太低了,于是文件系统就将磁盘多个扇区组成一个一个block块,这样操作系统就可以一次性读取一个block,一般一个block是由八个sector组成,大小是4kb。

inode data blok 和 superblocl

1、superb block:
	记录filesystem的整体信息,包括inode/block的总量、使用量、剩余量,以及文件系统的格式与相关信息等。
2、inode区:
	记录文件元信息,包括文件对应的block块号码,另外每个文件会被分配唯一的inode号码
3、block区:
	记录文件实际内容,一个文件过大时会被分配多个成多个block块,即一个文件有时候会对呀多个block块的号码,这些号码会存放于文件的inode里
	

preview

当我们从硬盘读取一个文件先由superblock获取到文件的inode区,再由inode区里的信息获取到文件的block码,由文件的block码指向到文件的实际内容,因为这样的存取特点,ext文件系统也被称之为索引式文件系统。
可以用stat命令来查看某个文件的inode信息:
	stat 1.txt
innode也会消耗硬盘空间,在硬盘格式化的时候,操作系统自动吧硬盘分成两个区,一个是数据区,存放文件数据,另一个是inode区,存放inode信息。inode码的个数是依照硬盘的空间大小来设定的,而每个文件都必须有一个inode,因此有可能会发生inode已经用光,但硬盘还未存满的情况。
	可以用df-i命令来查看每个分区inode总数和已经使用的数量。
使用ls -i命令可以查看文件名对应的inode号码:
	ls -i 1.txt

硬链接和软链结

硬链接

给文件一个副本,同时建立两者之间的链接关系,它们通过索引节点来进行链接。比如文件1和文件2之间建立了硬链接,那么它们指向的同一个inode码,其中任何一个文件进行删除,另一个文件是不受影响的。

软链接

它的逻辑有点像是windows系统中的快捷方式。比如文件1是文件2之间是软链接,那么文件1指向的是文件2这个文件名,再通过文件2的inode指向文件内容。这时候如果删除了文件2,那么链接就被中断了。

img

总结:

1、硬链接原文件和新文件的inode码是一致的,软链接不一致。

2、对原文件进行删除,会导致软链接不可用,硬链接不受影响。

3、对原文件进行修改,软硬链接的内容也一样的修改,因为指向的是同一个文件内容。

ln 原文件名 目标文件名  创建该文件的硬链接
ln -s 原文件名 目标文件名  创建该文件的软链接

企业面试题:请描述Linux中软链接和硬链接的区别

1.从定义:linux系统中,链接有两种,一种被称为软链接,类似于快捷方式,存放指向原文件inode的信息,与原文件inode不同。一种是硬链接,与原文件有相同的inode,可以指向数据block。

2.从创建方式:硬链接命令 ln [原文件] [目标文件],软链接命令ln –s [原文件] [目标文件]

3.从创建对象:ln命令不能对目录创建硬链接,但是可以对目录创建软链接。因为软链接可以跨越文件系统,硬链接则不能。对目录和为客户创建的文件软链接经常用到。

4.删除软链接文件,对硬链接和原文件无影响。

5.删除文件硬链接,对原文件及软链接文件无影响

6.删除原文件,对硬链接读取数据无影响,软链接则失效。会出现红底白字状。

7.同时删除原文件和硬链接,原文件才会被真正删除

8.很多硬件设备中的快照原理,类似于硬链接原理