1 文件系统的概念
操作系统用于明确存储和组织计算机数据的方法。##使得对数据的查找和访问变得更加容易。
2 存储在介质中数据的三个因素
- 文件名:定位存储的位置
- 数据:文件的具体内容
-
元数据meta-data:文件有关的信息。例如文件的权限、所有者、文件的修 改时间等。
Linux支持的文件系统类型可查看/etc/filesystems。
3 文件系统的分类
- 是否有日志?
- 传统型文件系统:写入文件内容的时候,先写数据,再写元数据。(如果写入数据的时候断电,就会出事) 例子:ext2
- 日志型文件系统:写入文件内容的时候,先写日志记录文件(更安全)。 ext3=ext2+日志 ReiserFS基于平衡树,搜索快,节约空间,小文件读写快
- 如何查找数据?
- 索引式文件系统:文件属性数据和实际内容放在不同的区块,例如Linux中默认的ext2中,文件属性数据存放在inode,实际内容放在block。
- 非索引式文件系统:只有block,数据需要一个block接一个block读取(下一个block位置存放在上一个block中),效率低。 FAT
-
碎片整理:就是写入的数据的block太过分散,此时读取的效率会很低。磁盘整理的目的 就是将这些分散的block尽量的集中起来。
3.5 ext2文件系统的结构
ext2一开始就将inode和datablock规划好了→inode和datablock的数量是很庞大的,不易管理。所以有了区块群组blockgroup的概念。每个群组都有自己的inode, datablock, superblock。这样易于管理。
4 配置文件系统分区
-
创建分区:
fdisk+设备名
,输入完该命令之后,可以通过参数m查看按键操作说明,通过参数p可以得到本磁盘的相关信息,输入n命令可以新建一个分区。
使用完n之后,新建分区的步骤如下:- 选择分区类型
- 选择分区开始的磁柱
- 决定分区的大小
- 保存新建的分区
通过重启服务器或使用partprobe命令通知内核
创建文件系统:
mkfs [参数] 设备名
,-t指定文件系统类型 -b指定block大小,单位bytes,ext2和ext3仅支持1024/2048/4096三种。
fdisk -t ext3 -b 1024 /dev/sda6
-
挂载文件系统:挂载的过程就是将文件系统和目录树上的某一个目录结合。
mount+设备名+挂载点
-t -b同上。
mount /dev/sda6 /root/testmount
5 管理Linux文件系统
查看分区使用情况:
df
:查看文件系统的磁盘空间占用情况 –h以容易理解的格式打印出文件系统大小 –i显示inode信息而非块使用量。du
:查看文件或目录的磁盘使用空间 –a显示目录下的每个文件所占的磁盘空间 –s只显示大小的总和 -h以容易理解的格式输出文件大小值-
查看系统打开的文件:
lsof
(通常用root打开)-
Isof filename
显示打开指定文件的所有进程 -
Isof –c string
显示以指定字符开头的进程所有打开的文件 -
Isof –u username
显示所属user相关进程打开的文件
-
修复文件系统:
fsck
检查文件系统并尝试修复错误。执行fsck时,必须将要修复的设备进行 umount后,再执行fsck命令。e2fsck
:检查和修复ext2和ext3文件系统