第 8章管理磁盘和文件系统本章内容
管理磁盘分区
文件系统
Linux的目录与文件
管理文件权限
管理磁盘配额
8.1 管理磁盘分区
磁盘分区工具
使用 fdisk进行分区管理
8.1.1 磁盘分区工具
Linux安装过程中,Disk Druid
常用分区工具:
fdisk
parted
8.1.2 使用 fdisk进行分区管理
fdisk是一个功能强大的磁盘管理工具
查看磁盘设备:
fdisk –l
管理磁盘分区
fdisk device
8.1.2 使用 fdisk进行分区管理命令 描述
a 引导标志开关
d 删除一个分区
l 列出已知的分区类型
m 显示 fdisk命令的帮助信息
n 建立一个新分区
p 列出现有的分区表信息
q 退出 fdisk命令且不保存更改
t 修改分区的系统 id
w 保存更改并退出
常用 fdisk交互命令
8.1.3 实现 Linux软件 RAID
使用 RAID可以带来以下好处:
提高磁盘 I/O性能;
增加单一存储单元的存储容量;
减少磁盘失效带来的影响
常用 RAID级别:
RAID 0
RAID 1
RAID 4
RAID 5
线形 RAID
8.1.3 实现 Linux软件 RAID
使用 mdadm建立软 RAID
1,使用 fdisk工具在磁盘 /dev/sdb和 /dev/sdc上分别建立相同尺寸的分区,并设置分区 id为,fd”
2,使用命令 mdadm建立 RAID设备,命令实例如下:
# mdadm --create /dev/md0 --level=1 --raid-
devices=2 /dev/sdb1 /dev/sdc1
3,对新建立的 RAID设备建立文件系统
4,将 RAID设备挂载到指定的目录中
查询 RAID信息
# mdadm --query /dev/md0
8.2 文件系统
什么是文件系统
建立文件系统
挂载文件系统
考察 /etc/fstab文件
文件系统的维护
8.2.1 什么是文件系统
文件系统是操作系统在分区上保存文件信息的方法和数据结构
Linux文件系统具有类似的通用结构,其关键组成部分有:
超级块( super block)
索引节点( inode)
数据块( data block)
目录块( directory block)
8.2.2 建立文件系统
要想在分区上存储数据,首先需要建立文件系统
建立文件系统的过程类似于格式化
使用 mkfs命令建立文件系统
mkfs [-v] [-t fs-type] [fs-options] device [size]
8.2.3 挂载文件系统
使用文件系统之前,需要 将文件系统挂载到 Linux
目录树的某个位置上
文件系统所挂载到的目录被称为挂载点
挂载文件系统的命令为 mount,该命令的语法如下:
mount [-t fs-type] [-o option] device
mountpoint
使用完成的设备,需要从 Linux中卸载:
umount
8.2.4 考察 /etc/fstab文件
系统引导时会读取 /etc/fstab文件,并对文件中的条目进行挂载
/etc/fstab文件的内容分为六列,含义如下:
参数 描述
/dev/device 将要被挂载的设备
/dirmount 文件系统要被挂载到的目录
fs-type 文件系统类型
Options 挂载选项,传递给 mount命令以决定如何挂载 。 各选项间使用逗号隔开
fs-dump 由 dump程序决定文件系统是否需要备份
fs-passno 由 fsck程序决定引导时是否检查磁盘以及检查的次序
fstab文件实例
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs 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.2.5 文件系统的维护
在 Linux系统中对文件系统的检查是通过 fsck工具进行的。
fsck的命令格式为:
fsck [options] filesystem
注意不要对已经挂接的文件系统进行 fsck
磁盘使用信息查看:
df
du
8.3 Linux的目录与文件
Linux的目录结构
Linux的文件类型
8.3.1 Linux的目录结构
Linux文件系统使用单一的根目录结构
/位于 Linux文件系统的顶层,所有分区都挂载到 /
下某个目录中
熟悉各个系统目录
7.3.2 Linux的文件类型
文件是操作系统用来存储信息的基本结构,通过文件名来标识。
Linux系统中有三种基本的文件类型
普通文件,包括文本文件、数据文件、可执行的二进制程序文件等。
目录文件,Linux系统把目录看成是一种特殊的文件,
利用它构成文件系统的树型结构。
设备文件,Linux系统把每一个设备都看成是一个文件。
8.3.2 Linux的文件类型普通文件目录文件设备文件文本文件二进制文件数据文件块设备字符设备文件类型链接文件
8.4 管理文件权限
文件的属主与属组
文件权限
文件的特殊权限
文件的扩展属性
8.4.1文件的属主与属组
每个文件或目录都有它的所有者,即属主。
文件同时属于某个特定的组,该组称为文件的属组
用户可以使用 chown和 chgrp命令修改文件的所有者关系
chown user:group filename
chgrp group filename
8.4.2 文件权限
Linux系统中的每个文件和目录都有访问许可权限,这是加在文件上的一个数据结构
访问权限规定三种不同类型的用户:
文件属主( owner):文件的所有者,称为属主。
同组用户( group):文件属组的同组用户
可以访问系统的其他用户( others)
访问权限规定三种访问文件或目录的方式:
读( r):允许读取文件内容或者列目录
写( w):允许修改文件内容或者创建、删除文件
可执行或查找( x):允许执行文件或者允许使用 cd命令进入目录 。
8.4.2 文件权限属主 ( u) 同组用户 ( g) 其他用户 ( o)
R W X R W X R W X
4 2 1 4 2 1 4 2 1
8.4.2 文件权限
使用 chmod命令修改文件权限
实例:
chmod a+x file
chmod o-r file
chmod u=rwx file
chmod 644 file
8.4.3 文件的特殊权限
s或 S( SUID,Set UID):可执行文件搭配这个权限,使程序执行者有能力存取文件拥有者能使用的所有资源,从而获取一定的特权。
s或 S( SGID,Set GID):和 SUID类似,只不过用户换成了组群而已
t或 T( Sticky,粘着):设置 Sticky权限后,只有文件的拥有者才可以删除、移动和修改文件。
8.4.4 文件的扩展属性
A,Atime,告诉系统不要修改对这个文件的最后访问时间。
S,Sync,对这个文件执行了写操作,系统立刻把修改的结果写到磁盘。
a,Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或者截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
i,Immutable,系统不允许对这个文件进行任何修改。如果对目录设置这个属性,那么任何的进程只能修改目录中的文件,而不能在目录中建立和删除文件。
d,No dump,在进行文件系统备份时,dump程序将忽略该文件。
c,Compress,系统以透明的方式压缩这个文件 s,Secure Delete,
让系统在删除这个文件时,使用 0填充文件所在的区域。
u,Undelete,当一个应用程序请求删除这个文件时,系统会保留其数据块以便将来能够恢复删除这个文件。
8.5 管理磁盘配额
启用 Linux的磁盘配额功能
编辑用户和组配额限制
检查磁盘配额的工作情况
8.5.1 启用 Linux的磁盘配额功能
磁盘配额可以从两方面限制磁盘的使用:
用户能够使用的索引节点数 ( inode),这会限制用户可以创建的文件数量;
用户能够使用的磁盘块区数 ( block),这会限制用户可以占用的磁盘容量 。
要设置磁盘配额,应该安装 quotas软件包
8.5.1 启用磁盘配额的步骤
1,修改 /etc/fstab文件,加入磁盘配额选项
2,重启系统或重新挂载文件系统
3,运行 quotacheck命令生成磁盘配额文件
quotacheck -cvug /
4,使用 quotaon命令启用配额功能
quotaon /
8.5.2 编辑用户和组配额限制
对用户和组的磁盘配额限制分为两种:
软限制:在过渡期内可以暂时超过这个限制
硬限制:绝对不允许超过这个限制 。
使用 edquota命令编辑用户配额
edquota username
edquota -t
8.5.3 检查磁盘配额的工作情况
要得到某个用户或组的磁盘使用情况,可以使用命令:
quota user或者 quota -g group
系统管理员还可以使用 repquota命令生成完整的磁盘空间使用情况的报告
repquota /
本章小结
掌握磁盘分区工具,fdisk
掌握文件系统管理工具:
mkfs
mount
umount
熟悉 Linux目录结构和文件类型
掌握文件权限管理
掌握磁盘配额设置