第九讲 文件系统管理
第九讲 文件系统管理
一、回顾分区和文件系统
1.1 分区类型
主分区:总共只能分四个
扩展分区:只能有一个,也算作主分区的一种,也就是说主分区加扩展分区最多有四个。
但是扩展分区不能存储数据和格式化,必须再分成逻辑分区才能使用。
逻辑分区:逻辑分区是在扩展分区中划分的,如果是IDE硬盘,Linux最多支持59个逻辑分区,
如果是SCSI硬盘Linux最多支持11个逻辑分区。
1.2 分区表示方法
主分区1 | /dev/sda1 |
主分区2 | /dev/sda2 |
主分区3 | /dev/sda3 |
扩展分区 | /dev/sda4 |
逻辑分区1 | /dev/sda5 |
逻辑分区2 | /dev/sda6 |
逻辑分区3 | /dev/sda7 |
1.3文件系统
ext2:是ext文件系统的升级版本,Red Hat Linux7.2版本以前的系统默认都是ext2文件系统。
1993年发布,最大支持16TB的分区和2TB的文件
ext3:ext3文系统是ext2文件系统的升级版本,最大的区别就是带日志功能,以防在系统突
然停止时,提高文件系统的可靠性。支持最大16TB的分区和最大2TB的文件
ext4:它是ext3文件系统的升级版。ext4在性能、伸缩性和可靠性方面进行了大量改造。
EXT4的变化可以说是翻天覆地的,比如向下兼容EXT3,最大1EB文件系统和16TB文件、
无限数量子目录、Extents连续数据块概念、多块分配、延迟分配、持久预分配、快速FSCK、日志校验,
无日志模式、在线碎片整理、inode增强、默认启用barrier等。是Centos6.3默认的文件消停。
1EB=1024PB=1024*1024TB
二、文件系统常用命令
2.1 df、du、fsck、dumpe2fs
2.1.1 文件系统查看命令df
命令格式:df [选项] [挂载点]
选项:
-a 显示所有文件系统信息,包括特殊文件系统,如/proc、/sysfs
-h 使用习惯单位显示容量,如KB,MB和GB等
-T 显示文件系统类型
-m 以MB为单位显示容量
-k 以KB为单位显示容量,默认就是以KB为单位。
2.1.2 统计目录或文件大小du
命令格式:du [选项] [目录或文件名]
选项:
-a 显示每个子文件的磁盘占用率。默认只统计子目录的磁盘占用率
-h 使用习惯单位显示磁盘占用率,如KB,MB,或GB等
-s 统计总占用量,而不列出子目录和子文件的占用量
df和du命令的区别:
df命令是从文件系统考虑的,不光要考虑文件占用的空间,还要统计被命令或
程序占用的空间(最常见的就是文件已删除,但是程序并没有释放空间)
du命令是面向文件的,只会计算文件或目录占用的空间
2.1.3 文件系统修复命令 fsck
命令格式:fsck [选项] 分区设备文件名
选项:
-a 不用显示用户提示,自动修复文件系统
-y 自动修复,和-a作用一致,不过有些文件系统只支持-y
2.1.4 显示磁盘状态命令 dumpe2fs(centos7 使用xfs_info命令)
命令格式:dupme2fs 分区设备文件名
2.2 文件系统常用命令-挂载命令
2.2.1 查询与自动挂载
命令格式:mount [选项]
选项:
-l 查询系统中已经挂载的设备,会显示卷标名称
-a 依据配置文件/etc/fstab的内容,自动挂载
2.2.2 挂载
命令格式:mount [-t 文件系统] [-L 卷标名] [-o 特殊选项] 设备文件名 挂载点
选项:
-t 文件系统 加入文件系统类型来指定挂载的类型,可以ext3、ext4等文件系统
-L 卷标名 挂载指定卷标的分区,而不是安装设备文件名挂载
-o 特殊选项 可以指定挂载的额外选项
特殊选项(常用):
remount 重新挂载已经挂载的文件系统,一般用于指定修改特殊权限
exec/noexec 执行/不执行,设定是否允许在文件系统中执行可执行文件,
默认是exec允许
范例:
mount -o remount,noexec /home # 重启挂载/home分区,并使用noexec权限
cd /home
vi hello.sh
chmod 755 hello.sh
./hello.sh
mount -o,remount,exec /home #修改回来,不然会影响启动
2.3 挂载光盘与U盘
2.3.1 挂载光盘
mkdir /mnt/cdrom/ #建立挂载点
mount -t iso9660 /dev/cdrom /mnt/cdrom/ #挂载光盘
mount /dev/sr0 mnt/cdrom
2.3.2 卸载命令
/umount 设备文件名或挂载点
/umount /mnt/cdrom
2.3.3 挂载u盘
fdisk -l #查看U盘设备文件名
mount -t vfat /dev/sdb1 /mnt/usb
注意:Linux默认是不支持NTFS文件系统的
2.3.4 卸载u盘
umount /dev/sdb1
2.4 支持NTFS文件系统
2.4.1 下载NTFS-3G插件 http://www.tuxera.com/community/ntfs-3g-download/
2.4.2 安装NTFS-3G
解压-->cd 进入目录-->./configure && make && make install
2.4.3 使用
mount -t ntfs-3g [设备文件名] [挂载点]
2.4.4 卸载
umount [挂载点或设备文件名]
三、fdisk分区
3.1 fdisk命令分区过程
3.1.1添加新硬盘
3.1.2 查看新硬盘 fdisk -l
3.1.3 使用fdisk命令分区:fdisk /dev/sdb
命令 | 说明 |
a | 设置可引导标记 |
b | 编辑bsd磁盘标签 |
c | 设置DOS系统兼容标记 |
d | 删除一个分区 |
l | 显示已知的文件系统类型。82为Linux swap分区,83为Linux分区 |
m | 显示帮助菜单 |
n | 新建分区 |
o | 建立空白DOS分区表 |
p | 显示分区列表 |
q | 不保存退出 |
s | 新建空白SUN磁盘标签 |
t | 改变一个分区的系统ID |
u | 改变显示记录单位 |
v | 验证分区表 |
w | 保存退出 |
x | 附加功能(仅专家) |
3.1.4 重新读取分区表信息(分区表被占用的情况):partprobe
3.1.5 格式化分区 mkfs -t ext4 /dev/sdb1
3.1.6 建立挂载点并挂载
mkdir /disk1 #创建挂载点
mkdir /disk5 #创建挂载点
mount /dev/sdb1 /disk1/ #挂载主分区
mount /dev/sdb5 /disk5/ #挂载逻辑分区
mount或df #查看挂载结果
3.2 自动挂载与fstab文件修复
3.2.1 /etc/fstab文件
第一字段 分区设备文件名或UUID(硬盘通用唯一识别码)
第二字段 挂载点
第三字段 文件系统名称
第四字段 挂载参数
第五字段 指定分区是否被dump备份,0代表不备份,1代表每天备份,2代表不定期备份
第六字段 指定分区是否被fsck检测,0代表不检测,其他数字代表检测优先级,数字越小,优先级越高