第 8讲 文件系统管理
杨忠义
第 8讲 文件系统管理
? Linux文件系统概述
? 文件系统的使用方法
? 文件系统的创建
? 挂装和卸装文件系统
? 常用的文件系统维护命令
? 自动挂装文件系统
? 磁盘限额
? 交换空间
重点内容
? Linux文件系统概述
? 文件系统的使用方法
? 文件系统的创建
? 挂装和卸装文件系统
? 常用的文件系统维护命令
? 自动挂装文件系统
? 磁盘限额
? 交换空间和内存管理
学习目标
? 掌握 Linux文件系统的基本概念
? 理解 Linux文件系统的一般使用方法
? 掌握 Linux文件系统的创建方法
? 掌握文件系统的挂装和卸装方法
? 掌握 Linux下可移动存储介质的使用方法
? 学会使用常用的文件系统维护命令
? 掌握在系统启动时自动挂装文件系统的方法
? 学会设置磁盘限额
? 掌握交换空间的管理方法
第 8讲 文件系统管理
? Linux文件系统概述
? 文件系统的使用方法
? 文件系统的创建
? 挂装和卸装文件系统
? 常用的文件系统维护命令
? 自动挂装文件系统
? 磁盘限额
? 交换空间
文件系统概述( 1)
? 从系统角度理解文件系统
? 文件系统是操作系统用于明确磁盘分区上的文件的方
法和数据结构,即文件在磁盘上的组织方法。
? 文件系统规定了如何在存储设备上存储数据以及如何
访问存储在设备上的数据。
? 一个文件系统在逻辑上是独立的实体,他能单独地被
操作系统管理和使用。
? Linux的内核采用了称之为虚拟文件系统( VFS)的技
术,因此 Linux可以支持多种不同的文件系统类型。
文件系统概述( 2)
? 从用户角度理解文件系统
文件系统是 Linux下的所有文件和目录的集
合,这些文件和目录结构是以一个树状的
结构来组织的,这个树状结构构成了
Linux中的文件系统。
下图给出了 Linux文件系统的一般结构
Linux文件系统的一般结构
Linux下常用的文件系统类型
? ext3 和 ext2
? Linux自身使用的文件系统
? swap
? Linux使用的交换文件系统
? msdos
? DOS文件系统
? vfat
? FAT32文件系统
? ISO9660
? 光盘使用的标准文件系统
? NFS
? 网络文件系统,用于在 UNIX系统间通过网络实现文件共享
日志文件系统
? Linux支持的日志文件系统
? ext3
? Reiserfs
? JFS( IBM)
? XFS( SGI )
日志文件系统
? 使用日志文件系统的优点
使用日志文件系统的最大好处就是在系统因出现
异常断电等事件而停机后再次启动时,操作系统
会根据文件系统的日志快速检测并恢复文件系统
到正常状态,具体:
? 提高了文件的存储安全性
? 降低了文件被破坏的机率
? 缩短了对磁盘的扫描时间
? 减少了磁盘整体扫描次数
第 8讲 文件系统管理
? Linux文件系统概述
? 文件系统的使用方法
? 文件系统的创建
? 挂装和卸装文件系统
? 常用的文件系统维护命令
? 自动挂装文件系统
? 磁盘限额
? 交换空间
使用文件系统的一般方法
? 在硬盘上创建分区
? 在分区上建立文件系统
? 在需要时或系统启动时挂装文件系统到系
统中
? 使用后或关机时卸装文件系统
第 8讲 文件系统管理
? Linux文件系统概述
? 文件系统的使用方法
? 文件系统的创建
? 挂装和卸装文件系统
? 常用的文件系统维护命令
? 自动挂装文件系统
? 磁盘限额
? 交换空间
创建文件系统
? 磁盘在分区之后首先要创建文件系统,即
格式化操作。
? 在 Linux下可以用命令 mkfs来完成文件系
统的创建工作。
? # mkfs <选项 > <分区设备名 >
? 常用选项
? -t fstype:指定要创建的文件系统的类型
? -c:查找坏块,初始化坏块列表
创建文件系统
? 操作举例
1,在系统第一块 IDE接口硬盘的第 11个分区上创
建 ext3类型的文件系统
# mkfs -t ext3 /dev/hda11
2,在系统第二块 SCSI接口的硬盘的第 5个分区上
创建 FAT32类型的文件系统
# mkfs -t vfat /dev/sdb5
3,对软盘创建 msdos类型的文件系统,同时检查
磁盘坏块
# mkfs -t msdos -c /dev/fd0
第 8讲 文件系统管理
? Linux文件系统概述
? 文件系统的使用方法
? 文件系统的创建
? 挂装和卸装文件系统
? 常用的文件系统维护命令
? 自动挂装文件系统
? 磁盘限额
? 交换空间
挂装文件系统
? 使用 mount命令挂装文件系统
? # mount [<选项 >] [<分区设备名 >] [<挂
装点 >]
? 常用选项
-t fstype:指定要挂装的文件系统的类型
-r:以只读方式来挂装文件系统
-o:用于设置各种挂装选项
-a:挂装 /etc/fstab文件中记录的设备
挂装文件系统
? 操作举例
? 将 /dev/hda11上的 ext3文件系统挂装到 /opt
# mount -t ext3 /dev/hda11 /opt
? 将 /dev/sdb5上的 FAT32文件系统挂装到
/mnt/win
# mkdir /mnt/win
# mount -t vfat /dev/sdb5 /mnt/win
? 显示当前已经挂装的文件系统
# mount
? 重新挂装 /etc/fstab文件中记录的设备
# mount -a
卸装文件系统
? 使用 umount命令卸装文件系统
# umount <设备名或挂装点 >
? 操作举例
使用设备名卸装已经挂装的文件系统
# umount /dev/hda11
使用挂装点卸装已经挂装的文件系统
# umount /opt
挂装 /卸装 文件系统的注意事项
? 挂装点目录必须存在
? 应该在挂装目录的上级目录下进行挂装操

? 不该在同一个挂装点目录下挂装两个文件
系统
? 当文件系统处于, busy”状态时不能进行
卸装
使用软盘和光盘
? 使用软盘
? 挂装,# mount /mnt/floppy
? 卸装,# umount /mnt/floppy
? 注意:卸装文件系统前不要取出软盘
? 使用光盘
? 挂装,# mount /mnt/cdrom
? 卸装,# umount /mnt/cdrom
使用 USB盘
? 使用 USB盘
? USB硬盘在 Linux系统下是被模拟成 SCSI设备来使用

? 对应的设备文件是 /dev/sda,如果有多块 USB硬盘,
则设备文件依次是 /dev/sdb,/dev/sdc等
? 操作举例
? 挂装
# mkdir /mnt/usb
# mount /dev/sda /mnt/usb
? 卸装
# umount /mnt/usb
直接挂装使用 ISO文件
? ISO文件是光盘镜像文件
? 用 mount命令加 -o loop选项挂装光盘镜
像文件
? # mount -o loop <ISO文件名 > <挂装
点 >
例如,# mount -o loop valhalla-i386-
disc1.iso /mnt/iso
? 卸装 ISO文件
? # umount /mnt/iso
直接挂装使用 IMG文件
? IMG文件是软盘映像文件
? 用 mount命令加 -o loop选项挂装软盘映像
文件
? # mount -o loop <IMG文件名 > <挂装点 >
? 例如,# mount -o loop bootdisk.img
/mnt/img
? 卸装 IMG文件
? # umount /mnt/img
第 8讲 文件系统管理
? Linux文件系统概述
? 文件系统的使用方法
? 文件系统的创建
? 挂装和卸装文件系统
? 常用的文件系统维护命令
? 自动挂装文件系统
? 磁盘限额
? 交换空间和内存管理
常用的文件系统维护命令( 1)
? fsck命令
? fsck是操作系统扫描文件系统内容检查内部一致性的
工具。
? 主要功能
? 检测并修正链接中断的目录
? 检测并修正错误时间标记
? 检测并修正指向错误磁盘区域的 i-node
? 格式:
# fsck [选项 ][-t 文件系统类型 ] <设备名 > [附加
选项 ]
? 提示:一般情况下,无需用户手动执行 fsck命令。在
系统启动过程中,一旦系统检测到了不一致就会自动
运行 fsck命令。
常用的文件系统维护命令( 2)
? du 命令
? 功能:用于查看磁盘使用情况。
? 使用举例
? 显示当前目录总的使用量(不显示目录中每个文件的使用量)。
# du -s
? 显示目录 /root和目录 /boot总的使用量。
# du -s /root /home
? 以人类习惯的方式显示目录 /root、目录 /home和目录 /boot总的
使用量。
# du -sh /root /home /boot
? 以降序方式显示使用磁盘空间最多的普通用户的前十名。
# cd /home; du -cks *|sort -rn |head -11
常用的文件系统维护命令( 3)
? df 命令
? 功能:用于查看磁盘剩余情况。
? 使用举例
? 以人类习惯的方式显示磁盘剩余情况。
# df -h
? 显示系统 i-node的使用剩余情况,而不是磁盘空间
的大小。
# df -i
? 显示所有文件系统的磁盘剩余情况。
# df -a
常用的文件系统维护命令( 4)
? e2label命令
? 功能:用于显示或设置指定 ext2或 ext3分区的
卷标。
? 格式,# e2label <设备文件名 > [<新的卷标
名称 >]
? 举例:
? 设置, /dev/hda10”的卷标为, www”
# e2label /dev/hda10 www
? 显示文件系统 /dev/hda10的卷标
# e2label /dev/hda10
常用的文件系统维护命令( 5)
? findfs命令
? 功能:在系统中查找指定卷标的文件系统 。
? 格式,# findfs LABEL=<文件系统卷标 >
? 举例:
? 查找卷标为 www所对应的文件系统
# findfs LABEL=www
第 8讲 文件系统管理
? Linux文件系统概述
? 文件系统的使用方法
? 文件系统的创建
? 挂装和卸装文件系统
? 常用的文件系统维护命令
? 自动挂装文件系统
? 磁盘限额
? 交换空间和内存管理
系统挂装表和自动挂装文件系统
? 系统挂装表简介
? 系统启动所要挂装的文件系统、挂装点、文件
系统类型等都记录在 /etc/fstab文件里。
? /etc/fstab文件称为系统挂装表。
? 使系统启动时自动挂装文件系统
? 只需要用文本编辑器修改系统挂装表,添加相
应的挂装记录即可。
文件 /etc/fstab的格式
? 每一行说明一个文件系统的挂装记录。
? 每一条记录包括如下的项目:
? <file system>,挂装的设备
? <mount point>:挂装点
? <type>:文件系统类型
? <options>,挂装选项
? <dump>:使用 dump命令备份文件系统的频

? <pass>:规定检查文件系统的顺序
文件 /etc/fstab实例
filesystem mountpoint type options dump pass
LABEL=/ / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
LABEL=/ho
me
/home ext3 defaults 1 2
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
LABEL=/usr /usr ext3 defaults 1 2
/dev/sda5 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,
ro
0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
第 8讲 文件系统管理
? Linux文件系统概述
? 文件系统的使用方法
? 文件系统的创建
? 挂装和卸装文件系统
? 常用的文件系统维护命令
? 自动挂装文件系统
? 磁盘限额
? 交换空间
磁盘限额概述
? 磁盘限额是系统管理员用来监控和限制用
户或组对磁盘的使用的工具。
? 用户使用文件的两方面限制
? 限制用户或组可以拥有的 inode数(文件数)
? 限制分配给用户或组的磁盘块的数目(以千字
节为单位的磁盘空间)
磁盘限额概述
? 设置磁盘限额还涉及的三个概念
? 硬限制:超过此设定值后不能继续存储新的
文件。
? 软限制:超过此设定值后仍旧可以继续存储
新的文件,同时系统发出警告信息,建议用
户清理自己的文件,释放出更多的空间。
? 时限:超过软限制多长时间之内(默认为 7
天)可以继续存储新的文件。
磁盘限额概述
注意事项
? 磁盘限额是以每一使用者,每一文件系统
为基础的。 如果使用者可以在超过一个以
上的文件系统上建立文件,那么必须在每
一文件系统上分别设定。
? 并非所有的文件系统都支持磁盘限额功能,
但 Red Hat 默认的 ext2和 ext3 文件系统
均支持磁盘限额。
配置磁盘限额
? 编辑系统挂装表启用 quota功能
? 在要设置限额的文件系统上创建 quota文

? 使用如下命令设置用户的限额
? # edquota -u username
? 使用如下命令将相同的限额设置复制给其
他用户
? # edquota -p <参考用户 > <待设置用户 >
配置磁盘限额
? 使用如下命令设置组的限额
# edquota -g groupname
? 启动限额设置
重新启动系统
执行命令,# quotaon -avug
查看磁盘限额
? 查看指定用户的 quota设置
# quota [-ugv] [<用户名 >]
? 查看当前用户的 quota设置
$ quota [-ugv]
? 查看所有用户的 quota设置
# repquota [-augv]
第 8讲 文件系统管理
? Linux文件系统概述
? 文件系统的使用方法
? 文件系统的创建
? 挂装和卸装文件系统
? 常用的文件系统维护命令
? 自动挂装文件系统
? 磁盘限额
? 交换空间
使用交换分区
? 使用 fdisk命令创建 swap分区
? 创建交换文件系统
# mkswap –c /dev/sda9
? 激活交换空间
# swapon /dev/sda9
? 去激活交换空间
# swapoff /dev/sda9
? 修改系统挂装表,使交换分区在系统启动时被激

/dev/sda9 none swap swap 0 0
使用交换文件
? 建立交换文件
# dd if=/dev/zero of=/swap bs=1024
count=10240
? 创建交换文件系统
# mkswap /swap 10240; sync
? 激活交换空间
# swapon /swap
? 去激活交换空间
# swapoff /swap
? 开机时自动激活交换文件
# echo "swapon /swap" >>/etc/rc.d/rc.local
小结
? Linux文件系统概述
? 文件系统的使用方法
? 文件系统的创建
? 挂装和卸装文件系统
? 常用的文件系统维护命令
? 自动挂装文件系统
? 磁盘限额
? 交换空间
思考题
1,Linux下常用的文件系统有哪些?
2,简述在 Linux环境下使用文件系统的一般方法?
3,如何挂装和卸装文件系统?
4,如何使用可移动存储介质(软盘、光盘,USB盘)?
5,如何直接挂装使用 ISO文件和 IMG文件?
6,何谓链接文件?链接文件有哪两种?各自的特点为何?
7,如何在系统启动时自动挂装文件系统?简述 /etc/fstab
文件各个字段的含义?
8,什么是磁盘限额?为何要设置磁盘限额?什么是硬限制、
软限制和时限?
9,磁盘限额可以从哪两方面限制用户的使用?