对于任何一个成熟的操作系统而言,文件系统管理都是一个十分重要的部分。文件系统管理的好坏会直接影响到操作系统的性能和安全。
2.1文件系统
文件系统是操作系统在硬盘或分区上保存文件信息的方法和数据结构,也就是文件在硬盘或分区上的组织方式。
作为一种类 UNIX操作系统,大部分 Linux文件系统具有类似的通用结构,其关键概念有超级块(superblock)、索引节点(inode)、数据块(data block)、目录块( directory block)。
超级块中包含了关于该硬盘或分区上的文件系统的整体信息,如文件系统的大小等;超级块后面的数据结构是索引节点,它几乎包含了针对某个具体文件的全部信息,如文件的存取权限、拥有者、文件大小、建立时间及对应的目录块和数据块等;数据块是真正存储文件内容的位置。但是索引节点中不包括文件的名字,文件名是放在目录块里的。目录块里包含有文件的名字及此文件的索引节点编号。
2.1.1 Red Flag Asianux Server 3支持的文件系统类型
Red Flag Asianux Server 3系统的重要特征之一是支持多种文件系统。这样它更为灵活并且可以与许多其他种类的操作系统交换数据,其中最常用的是以下几种:
ext3:ext2的">升级版本,是 Red Flag Asianux Server 3默认的文件系统类型,其主要优点是在 ext2的基础上加入了记录数据的日志功能。可方便地从 ext2迁移至 ext3,且支持异步的日志。
ext2:支持标准 Unix文件类型,可用于多种存储介质,向上兼容性好,支持长达 255个字符的文件名。
reiserfs:一种新型的文件系统,通过完全平衡树结构来容纳数据,包括文件数据,文件名以及日志支持。ReiserFS还可以支持海量磁盘和磁盘阵列,并能在上面继续保持很快的搜索速度和很高的效率。
vfat:Windows 9X/2000及 NT操作系统使用的扩展 DOS文件系统,提供了对长文件名的支持。
xfs:SGI的 xfs是非常好的 64位高性能日志文件系统,它为 Linux社区提供了一种健壮、优秀、功能丰富的文件系统,它具有的可伸缩性能够满足最苛刻的存储需求。
iso9660:标准的 CD-ROM文件系统。其中的 Rock Ridge扩展允许长文件名的自动支持。
NFS:允许在多台计算机之间共享文件系统的网络文件系统。
此外,还支持一些古老的文件系统类型,如 MINIX、Msdos、Hpfs、sysv等。
2.1.2文件系统的创建、加载与卸载
2.1.2.1建立文件系统
一个分区或磁盘在作为文件系统被使用之前,先要初始化将记录数据的结构写入磁盘,这个过程叫做建立文件系统。
命令 mkfs用于创建文件系统,它可以在任何指定的块设备上建立不同类型的文件系统。
mkfs命令的语法格式如下:
mkfs [-v] [-t fs-type] [fs-options] device [size]
mkfs命令中各项参数的意义如下:
-v:强迫产生长格式输出;
-t fs-type:选择文件系统的类型;
fs-option:将要建立的文件系统选项,它可以是以下选项:
选项 说明和描述 -c
查找坏块,并初始化坏块列表 -l filename 从文件 filename中读初始的坏块表 -v 让文件系统程序产生长格式输出
device:将创建文件系统所在设备的设备号;
size:文件系统的大小;
例如:要在软盘上创建一个 ext2的文件系统,用以下命令:
# mkfs –t ext2 /dev/fd0