第5讲磁盘文件系统本章重点内容Linux文件系统概述文件系统的使用方法文件系统的创建挂装和卸装文件系统常用的文件系统维护命令自动挂装文件系统本章学习目标掌握Linux文件系统的基本概念理解Linux文件系统的一般使用方法掌握Linux文件系统的创建方法掌握文件系统的挂装和卸装方法掌握Linux下可移动存储介质的使用方法学会使用常用的文件系统维护命令掌握在系统启动时自动挂装文件系统的方法问题Windows的文件系统格式有fat32、ntfs……,Linux里也一样吗?如何规划自己计算机里的磁盘?是不是所有的文件谁都可以访问?0、文件系统和目录结构文件系统表示存储在计算机上的文件和目录的数据结构。也可以用于存储文件的分区或磁盘文件系统类型DOS/WINDOWS的FAT16/32或NTFSLINUX的ext2、ext3、ReiserFSLinux通过VFS支持多个不同的文件系统1.1文件系统简介1)、最高级目录(根目录)Windows下目录结构属于分区Linux下分区属于目录结构文件系统简介(续)2)、Linux文件系统的结构3、Linux系统的目录结构Linux以根目录为起点,系统中所有分区都挂载在目录树的某个目录中。系统中的其他目录可以是独立的分区,也可以是根分区中真正的目录。从根目录开始,每个目录都用于存放特定类型的文件。使用ls–l/命令进行查看Linux系统目录说明/boot存放内核及启动所需要的文件,使用独立分区。比如vmlinuzinitrd.img文件都位于这个目录中。通常,GRUB或LILO系统引导管理器也位于这个目录;/bin存放普通用户可以执行的命令,任何用户均可执行。比如ls、cp、mkdir等命令;功能和/usr/bin类似。/sbin存放系统管理命令,大多是涉及系统管理的命令,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令。/dev存放系统所有设备文件,光盘、硬盘等。/etc存放系统配置文件,文本文件,可查看和修改。服务器的配置文件也在这里;比如用户帐号及密码配置文件Linux系统目录说明(续)/mnt是系统中可移动存储设备的挂载点,存放临时的映射文件系统。查看/etc/fstab的定义。有时可以让系统开机自动挂载文件系统,把挂载点放在这里也可以的。主要看/etc/fstab中怎么定义。如:光盘挂载点目录为/mnt/cdrom/软盘为/mnt/floppy//var存放系统中经常变化的文件,如日志文件、用户邮件、DHCP数据等。/var/log用来存放系统日志的目录。/var/服务器站点存放目录;/var/lib用来存放一些库文件,比如MySQL数据库的存放地/usr存放大量系统应用程序及相关文件,文件较多,需独立分区。/opt存放第三方的可选择安装的应用软件。Linux系统目录说明(续)/home是普通用户的宿主目录所在地,其下都有一个同名的目录,用于存放用户数据。/root超级用户root的宿主目录/tmp用来存放临时文件/lib存放必要的运行库/proc存放存储进程和系统信息。操作系统运行时,进程信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统,它的定义可以参见/etc/fstabP126Linux系统目录说明(续)/media即插即用型存储设备的挂载点自动在这个目录下创建,比如USB盘系统自动挂载后,会在这个目录下产生一个目录;CDROM/DVD自动挂载后,也会在这个目录中创建一个目录,类似cdrom的目录。可以参看/etc/fstab的定义;/selinux用来存放安全LINUX的信息/sys用于存放系统信息/misc/srv/net/lost+found在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。常用的/usr目录信息/usr/X11R6存放XWindow系统/usr/bin存放增加的用户信息/usr/dict存放字典/usr/doc存放追加的文档/usr/etc存放设置文件/usr/games存放游戏和教学文件/usr/include存放C开发工具的头文件常用的/usr目录信息(续)/usr/info存放GNU信息文件/usr/lib存放库文件/usr/local存放本地的应用程序、文件等/usr/man存放在线帮助文件/usr/sbin存放增加的管理程序/usr/share存放结构独立的数据/usr/src存放程序的源代码系统的目录工作目录与用户主目录从逻辑上讲,用户在登录到Linux系统中之后,每时每刻都“处在”某个目录之中,此目录被称作工作目录或当前目录(WorkingDirectory)。工作目录是可以随时改变的。用户初始登录到系统中时,其主目录(HomeDirectory)就成为其工作目录。工作目录用“.”表示,其父目录用“..”表示。用户主目录是系统管理员增加用户时建立起来的(以后也可以改变),每个用户都有自己的主目录,不同用户的主目录一般互不相同。用户刚登录到系统中时,其工作目录便是该用户主目录,通常与用户的登录名相同。系统的目录路径由斜杠/分隔的由目录名组成的一个序列,它指示找到一个文件所必须经历的目录。两种类型:—全路径(绝对路径):由根目录/开始—相对路径:由当前目录开始1.2Linux支持的文件系统ext2与ext3(Linux文件系统)Swap(交换分区文件系统)vfat(fat16、fat32)linux中把DOS下的所有文件系统统称为vfatNFS(网络文件系统)NTFS(WinNT/2000文件系统)HPFS(OS/2使用的文件系统)ISO9660(cdrom光盘使用的文件系统)VFS虚拟文件系统,对用户来说是透明的,是linux与其他文件系统的接口日志文件系统等等ReiserFS、JFS,是性能优越、应用广泛的日志文件系统1.3ext2与ext3文件系统Linux自带的文件系统类型最早使用ext,可扩展,是linux的基本文件系统。ext2是ext的稳定版本。ext3是ext2的增强版本。ext3是RedHatLinux7.3以后的默认文件系统。ext3的新增功能文件系统日志的管理机制使得系统因出现异常断电等事件而停机后再启动时,OS会根据文件系统的日志快速检测并恢复文件系统到正常状态,避免了ext2需要对整个文件系统的磁盘空间进行扫描,大大提高了系统恢复运行的时间。1.4新建并使用文件系统说明文件系统通常是在系统安装时建立的。为了扩充系统容量,如新添一个硬盘,如何把新的硬盘加入linux系统,并能使用新的硬盘。为此,需要对新的硬盘做如下操作:1、在硬盘上建立分区2、在分区上建立文件系统3、把分区挂载到系统中1.在硬盘上建立分区命令:fdisk、partedfdisk与DOS中的fdisk同名,且功能类似,但属于不同平台的两个应该程序,格式也不相同。格式:fdisk[参数]硬盘设备全路径名parted[选项][硬盘设备全路径名]1.在硬盘上建立分区(续)示例:#fdisk显示fdisk的用法#fdisk/dev/hdb在第二块IDE硬盘上建立分区进入等待命令状态输入m可获得交互帮助fdisk的交互命令全部为单个字母#parted进入等待命令状态输入help可获得交互帮助parted的交互命令全部为多个字母2.在分区上建立文件系统说明硬盘中的分区建好以后,就需要在分区上建立文件系统了,也即格式化分区,只有在分区中建立了文件系统,分区才能够保存文件。分区类型与分区中建立的文件系统类型要一致,否则挂载时有问题命令:mkfs=mke2fs=mkfs.ext3=mkfs.ext22.在分区上建立文件系统(续)命令名1命令名1命令名1备注mkfs.ext3mkfs.ext2mke2fs建立ext2/ext3文件系统mkfs.vfatmkfs.msdosmkdosfs建立vfat文件系统mkfs.reiserfsmkreiserfs建立reiser文件系统mkfs.jfs建立jfs文件系统mkswap建立swap文件系统2.在分区上建立文件系统(续)格式:mkfs[选项]分区设备文件名示例:mkfs/dev/hdb1mke2fs/dev/hdb1mkfs–text3–c/dev/hda2-t:指定文件系统类型-c:建立文件系统前先检测有无坏块mke2fs–c/dev/hda23.把分区挂载到系统中在分区中建立好文件系统后就可以把分区挂载到系统中的相应目录。挂载目录时,需要目录为空目录。挂载文件系统的两种方式使用mount命令修改fstab文件进行自动挂载mount格式:mount[设备文件名挂载点目录]把指定的设备(如硬盘分区)挂载到指定的目录。mount-a[-fv][-tvfstype][-n][-rw][-F]devicedir说明:#mount不指定参数时,显示当前系统中已经挂载的文件系统信息mount示例#mount/dev/hdb1/var/ftp/#mount/mnt/floppy#mount/mnt/cdrom#mount|grephdb1显示/dev/hdb1on/var/ftptypeext3(rw)表示”/dev/hdb1”分区成功挂载到“/var/ftp”目录umount格式:umount设备文件名挂载点目录卸载系统中指定的设备或挂载点上的文件系统unmount-a[-fFnrsvw][-tvfstype][-n][-rw][-F]devicedirumount示例#mount|grephdb1查找hdb1的分区及挂载信息,若有则显示如:/dev/hdb1on/var/ftptypeext3(rw)#umount/var/ftp卸载系统中的文件系统#umount/mnt/cdrom#umount/mnt/floppy挂、卸载文件系统的注意事项⑴、挂载目录必须存在而且是空⑵、Linux专门提供了移动设备的挂载目录/mnt、/media⑶、不要在挂载目录下进行挂载操作⑷、将软盘或光盘放入驱动器后再实施挂载操作⑸、卸载前不要取出软盘或光盘⑹、不能在同一个目录下挂载两个文件系统⑺、不能在挂载目录下进行卸载操作设置系统启动时自动挂载文件系统说明对于系统运行必须使用或者中长期使用的文件系统,需要设置系统运行时自动挂载。通过配置/etc/fstab文件可实现文件系统的自动挂载。#more/etc/fstab文件/etc/fstab的格式每一行说明一个文件系统的挂装记录。每一条记录包括如下的项目:filesystem:挂装的设备mountpoint:挂装点type:文件系统类型options:挂装选项dump:使用dump命令备份文件系统的频率pass:规定检查文件系统的顺序/etc/fstab1.5文件系统维护fsck=e2fsck#fsck分区设备文件名#e2fsck分区设备文件名用于检测指定分区中的ext2/ext3文件系统并进行错误修复#fsck/dev/hdb1#fsck/dev/sdb1这两个命令不能用于检测系统中已装载的文件系统,否则会造成文件系统的损坏常用的文件系统维护命令(1)fsck命令fsck是操作系统扫描文件系统内容检查内部一致性的工具。主要功能检测并修