您的位置:首页 > 运维架构 > Linux

第8章 Linux磁盘与文件系统管理

2014-07-03 14:04 190 查看
1、Ext2

不同的操作系统所设置的文件属性不同,为了存放这些文件,需要将分区进行格式化,使其成为操作系统能辨认的格式。Linux文件系统为Ext2(Linux second extended file system)。

(1)索引文件系统

文件有许多属性,文件系统通常将属性放到inode中,而实际的数据放到data block中。另外,还有一个块会记录整个文件系统的信息,包括inode与block的问题、使用量、剩余量等等,这个块称作super block。

super block:记录文件系统的整体信息,包括inode、block的问题、使用量、剩余量,以及文件系统的格式等信息
inode:记录文件的属性,一个文件占一个inode,同时记录与保存此文件实际数据的块(block)号
block:存储文件的内容

假设我们知道文件A的inode中存放了3个块,分别是b1、b2、b3,那么操作系统就会根据块去找数据。这种数据访问的方式称为索引式文件系统。

(2)FAT文件系统

还有一种文件系统FAT,它并没有inode,而是只记录文件数据的第一个块,下一个块的信息就存储在它的前一个块中(同指针差不多),如U盘使用的就是FAT。

block:Ext2在格式化时将inode和block大小固定好了,除非重新格式化(或者用resize2fs等命令更改),inode和block才会改变。而且在格式化时,会有多个块组,每个块组里都有独立的inode和block。在第一个组里有super block,记录了整个文件系统的信息。Ext2所支持的block大小有1KB、2KB、4KB三种。每个块只存放一个文件的数据,根据block大小不同,可以会造成浪费或者读写效率低。
inode:inode记录文件的权限、属性的信息。每个inode大小为128字节。
super block:记录了block和inode的数量、剩余量,block和inode的大小等信息。
File System Description(文件系统描述说明):记录了每个块组的开始与结束的块号,可以用命令dumpe2fs查看
Block bitmap(块对照表):记录块是否已经被写。当然,与这对应还有inode bitmap。

2、目录树

在ext2新建一个目录时,会分配一个inode与若干个block,inode记录了该目录的权限与属性,并记录分配到的那些块号,而这些block则是记录在这个目录下的文件名与该文件名占用的inode号。而新建一个文件时,会分配一个inode和若干block。

3、Linux支持的文件系统

Linux的标准文件系统是Ext2,但也支持一些其他的文件系统,如minix、FAT、NFS等。Linux内核通过一个名为Virtual Filesystem Switch(VFS)的功能去读取文件系统。因为,整个Linux文件系统都是用VFS进行管理的,用户不用知道具体是什么文件系统。

4、文件系统的简单操作

(1)磁盘与目录的容量

df:列出文件系统的整体磁盘使用量(读取超级块的信息)
du:直接到文件系统内查找所有文件的文件数据

(2)连接文件命令:ln

Linux中有两种连接文件:一种是类似快捷方式功能的文件;另一种则是通过文件系统的inode连接来产生新的文件名,而不是产生新文件,这种称为硬连接。

硬连接:在某个目录下新建一条文件名连接到某个inode。硬连接的限制是,不能跨文件系统、不能连接到目录。
Symbolic link(符号连接):创建一个独立的文件,这个文件会让的读取指向它连接的那个文件的文件名。

5、磁盘的分区、格式化、检验与挂载

分区命令:fdisk
磁盘格式化:mkfs磁盘检验:fsck,badblocks
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: