在操作系统中,任何东西都可以看作是文件,文件是操作系统逻辑组织的基本单元。对于Unix和Linux文件系统而言,文件系统层次标准(FHS)是其组织规范的主要参考。对文件目录结构稍有了解的人都知道,文件系统通常由根目录(/)出发,不断延伸出一层一层的子目录。
★在Linux中,常用的一级子目录包括:
目录名 | 描述 |
---|---|
/bin | 集中存放一些必要的命令工具,最好不要单独挂载,否则你会找不到那些你亟需的实用程序。 |
/boot | 包含Linux的启动文件以及内核。默认情况下为100M,这对准备RHCE考试足矣 |
/dev | 集中存放各类设备驱动程序,该分区不要单独挂载 |
/etc | 集中存放一些基本的配置文件 |
/home | 集中存放用户的主目录 |
/lib | 内核和实用程序的编译库文件,该分区不要单独挂载 |
/media | 可移动介质的挂载点 |
/misc | 使用automounter挂载本地目录的标准挂载点 |
/mnt | 老的用于移动介质的挂载点 |
/net | 使用automounter挂载网络目录的标准挂载点 |
/opt | 第三方应用程序文件的常用存放地 |
/proc | 集中存放当前内核相关进程以及内核配置信息等 |
/root | root用户的主目录 |
/sbin | 集中存放一些系统管理命令,该分区不要单独挂载 |
/selinux | 与安全升级Linux相关的当前配置 |
/smb | 使用automounter挂载远端共享Microsoft网络目录的标准挂载点 |
/srv | 常用于各种非RedHat版本的网络服务器 |
/tftpboot | 当安装了TFTP服务器时会存在 |
/tmp | 集中存放临时文件,默认情况下,RedHat会自动周期性地清空该目录 |
/usr | 集中存放一些对所有用户可用的小程序,包含许多系统管理命令和实用程序 |
/var | 集中存放可变数据,如日志和打印机缓冲文件等 |
★设备文件
许多媒介设备在Linux系统中是以文件的形式来管理的,例如:硬驱、软驱、光驱等。另外一些通过PC插槽或端口存取的设备如串口、USB、并口、IEEE 1394等,也有专门的设备文件。
绝大多数的外围设备都能自动侦测到,典型的设备文件如下:
设备 | 设备文件 |
---|---|
软驱 | 第一软驱(A:):/dev/fd0;第二软驱(B:):/dev/fd1 |
PATA(IDE)硬驱 PATA(IDE)光驱 | 第一驱:/dev/hda;第二驱:/dev/hdb;第三驱:/dev/hdc;第四驱:/dev/hdd |
SATA或SCSI硬驱 SATA或SCSI光驱 | 第一驱:/dev/sda;第二驱:/dev/sdb;……;第二十七驱:/dev/sdaa;…… |
并口 | 第一口:/dev/pd1;第一磁带驱动器:/dev/pt1 |
USB驱动器 | 视具体连接设备而定 |
IEEE 1394设备 | 实际上是SCSI标准,参照SCSI设备文件规则 |
注意:在/dev下的许多文件只是对标准设备文件的引用,往往是为了更容易识别。如/dev/cdrom和/dev/dvd。
★文件系统工具
Linux文件系统可以通过三个工具进行创建、检查或修复:fdisk、mkfs和fsck。当然,Linux里文件系统工具还不止这三个,例如parted等,但这三个无疑是最常用的,下面分别对它们进行简要介绍(具体的帮助信息可参考man页):
1) fdisk:fdisk我们并不陌生,因为在Windows系统中这是基本的工具,实际上,虽然Linux中的fdisk与Windows中的fdisk有些相似,但功能支持要大得多。在使用fdisk之前,首先须明确所要处理的硬盘。例如:如果要处理第一IDE硬盘,可以输入:#fdisk /dev/hda。fdisk命令常用的选项有:
选项 | 描述 |
---|---|
a | 指定可引导Linux分区 |
d | 删除一个分区 |
l | 显示可用分区类型,fdisk可以创建所列类型的文件系统 |
n | 创建一个新的分区(在自由空间足够的情况下) |
p | 显示现有分区情况 |
q | 退出而不保存修改 |
t | 修改分区的系统标识(类型) |
w | 保存修改并退出 |
2) mkfs:主要用来格式化Linux分区。例如,如果需要格式化/dev/hda1为ext3文件系统,可以直接输入:#mkfs -t ext3 /dev/hda1。如果分区已经用ext3文件系统格式化过,现在需要重新格式化,此时mkfs可以自动识别文件系统类型为ext3,输入:#mkfs /dev/hda1即可。
3) fsck:该命令类似于Windows上的chkdsk命令,它主要用来对文件系统进行检查和修复。注意:在运行该命令之前,务必先卸载所检查的分区,在检查修复完成之后,再重新挂载该分区。例如:
#umount /var
#fsck –t ext3 /dev/sda6
#mount /dev/sda6 /var
如果分区已经用ext2或ext3文件系统格式化过,现在需要对该分区进行检查,此时fsck实际自动调用e2fsck命令,此时无须指定分区类型,输入:#fsck /dev/sda6即可。
★LVM
逻辑卷管理器(LVM)是一种可跨分区创建文件系统的工具。它的引入,借鉴了Unix文件系统的优点,可以灵活使用和配置文件系统,从而大大提高Linux系统的可靠性和可用性。使用LVM可以很方便地实现磁盘分区的扩容,一个文件系统甚至可以跨越多个硬盘。下面简要介绍一下创建LVM分区的过程:
1) 添加新的硬盘
2) 创建新的分区,将一个或多个分区指定为LVM文件系统类型(可使用fdisk工具)
3) 备份/home目录,将其分区指定为LVM文件系统类型
4) 使用vgscan工具扫描Linux的LVM文件系统以创建备用的信息库
5) 使用pvcreate /dev/partition命令创建(物理)卷。
6) 将卷添加到指定的卷组:vgcreate groupname /dev/partition1 /dev/partition2…
7) 创建逻辑卷:lvcreate -L xyM –n volname groupname,这里的xy表示卷的大小
8) 使用mkfs格式化逻辑卷为指定的文件系统
9) 用pvdisplay、vgdisplay和lvdisplay命令分别检查所创建的卷、卷组和逻辑卷信息
★关于mount
mount是一个与文件系统操作紧密相关的常用命令,它主要用来在指定位置挂载本地或网络分区。挂载点不是固定的,可以由系统管理员任意指定,当然,管理员必须对挂载目录拥有足够的操作权限。FHS规定了一些标准的挂载点,例如早期的/mnt/floppy和/mnt/cdrom之类,其挂载操作如下:
#mount -t vfat /dev/fd0 /mnt/floppy
#mount -t iso9660 /dev/cdrom /mnt/cdrom
还有一些挂载点可以由automounter来自动确定。