第一节 回顾分区和文件系统
1.分区类型
主分区:总共最多只能分四个
扩展分区:只能有一个,也算主分区的一种,也就是说主分区加扩展分区最多有四个但是扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用
逻辑分区:逻辑分区是在扩展分区中划分的,如果是IDE硬盘,Linux最多支持59个逻辑分区,如果是SCSI硬盘,Linux最多支持11个逻辑分区
2.分区表示方法
主分区1 /dev/sda1
主分区2 /dev/sda2
主分区3 /dev/sda3
扩展分区 /dev/sda4
逻辑分区1 /dev/sda5
逻辑分区2 /dev/sda6
逻辑分区3 /dev/sda7
主分区1 /dev/sda1
扩展分区 /dev/sda2
逻辑分区1 /dev/sda5
逻辑分区2 /dev/sda6
逻辑分区3 /dev/sda7
注意:逻辑分区对应的设备文件名从sda5开始。
3.文件系统
ext2:是ext文件系统的升级版本,Red Hat Linux7.2版本以前的系统默认都是ext2文件系统。1993年发布,最大支持16TB的分区和最大2TB的文件(1TB=1024GB=1024*1024MB)
ext3:ext3文件系统是ext2文件系统的升级版本,最大的区别就是带日志功能,以在系统突然停止时提高文件系统的可靠性。支持最大16TB的分区和最大2TB的文件
ext4:它是ext3的文件系统的升级版。ext4在性能,伸缩性和可靠性方面进行了大量改进。ext4的变化可以说是翻天覆地,比如向下兼容ext3,最大1EB文件系统和16TB文件,无限数量子目录,Extents连续数据块概念,多块分配,延迟分配,持久预分配,快速FSCK,日志校验,无日志模式,在线碎片整理,inode增强,默认启用barrier等。是CentOS6.3的默认文件系统(1EB=1024PB=1024*1024TB)
第二节 文件系统常用命令
1.文件系统查看命令df
df [选项] [挂载点]
选项:
-a 显示所有的文件系统信息,包括特殊文件系统,如/proc,/sysfs
-h 使用习惯单位显示容量,如KB,MB或GB等
-T 显示文件系统类型
-m 以MB为单位显示容量
-k 以KB为单位显示容量
2.统计目录或文件大小du
du [选项] [目录或文件名]
选项:
-a 显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量
-h 使用习惯单位显示磁盘占用量,如KB,MB或GB等
-s 统计总占用量,而不列出子目录和子文件的占用量
du命令和df命令的区别
df命令是从文件系统考虑的,不光要考虑文件占用的空间,还要统计被命令或程序占用的空间(最常见的就是文件已经删除,但是程序并没有释放空间)
du命令是面向文件的,只会计算文件或目录占用的空间
3.文件系统修复命令fsck
fsck [选项] 分区设备文件名
选项:
-a 不用显示用户提示,自动修复文件系统
-y 自动修复,和-a作用一致,不过有些文件系统只支持-y
注意:该命令由系统自动执行,手动执行时有宕机风险
4.显示磁盘状态命令dumpe2fs
dumpe2fs 分区设备文件名
通过此命令可以查看分区中的一个数据块大小(一般为1KB,2KB或4KB)
5.查询与自动挂载
mount [-l] 查询系统中已挂载的设备,-l会显示卷标名称
mount -a 依据配置文件/etc/fstab的内容,自动挂载
6.挂载命令格式
mount [-t 文件系统] [-L 卷标名] [-o 特殊选项] 设备文件名 挂载点
选项:
-t 文件系统 加入文件系统类型来指定挂载的类型,可以是ext3,ext4,iso9660等文件系统
-L 卷标名 挂载指定卷标的分区,而不是按设备文件名挂载
-o 特殊选项 可以执行挂载的额外选项
命令实例
mount -o remount,noexec /home #重新挂载/boot分区,并使用noexec权限
cd /home
vi hello.sh
chmod 755 hello.sh
./hello.sh
mount -o remount,exec /home #记得改回来,要不会影响系统启动
mount命令可以支持的选项参数
atime/noatime 更新访问时间/不更新访问时间。访问分区文件时,是否更新文件的访问时间,默认为更新
async/sync 异步/同步,默认为异步
auto/noauto 自动/手动,mount -a命令执行时,是否会自动安装/etc/fstab文件自动挂载,默认为自动
defaults 定义默认值,相当于rw,suid,dev,exec,auto,nouser,async这七个选项
exec/noexec 执行/不执行,设定是否允许在文件系统中执行可执行文件,默认是exec允许
remount 重新挂载已经挂载的文件系统,一般用于指定修改特殊的权限
rw/ro 读写/只读,文件系统挂载时,是否具有读写权限,默认是rw
suid/nosuid 具有/不具有SUID权限,设定文件系统是否具有SUID和SGID的权限,默认是具有
user/nouser 允许/不允许普通用户挂载,设定文件系统是否允许普通用户挂载默认是不允许,只有root可以挂载分区
usrquota 写入代表文件系统支持用户磁盘配额,默认不支持
grpquota 写入代表文件系统支持组磁盘配额,默认不支持
7.挂载光盘
mkdir /mnt/cdrom 建立挂载点
mount -t iso9660 /dev/cdrom /mnt/cdrom
mount /dev/sr0 /mnt/cdrom
注意:/dev/cdrom是/dev/sr0的软链接
8.卸载命令
umount 设备文件名或挂载点
umount /mnt/cdrom
9.挂载U盘
fdisk -l 查看U盘设备文件名
mount -t vfat /dev/sdb1 /mnt/usb/
注意:Linux默认不支持NTFS文件系统,fat16识别为fat,fat32识别为vfat
10.让Linux支持NTFS文件系统
1)下载NTFS-3G插件
http://www.tuxera.com/community/ntfs-3g-download/
2)安装NTFS-3G
tar -zxvf ntfs-3g_ntfsprogs-2013.1.13.tgz #解压
cd ntfs-3g_ntfsprogs-2013.1.13 #进入解压目录
./configure #编译前准备,没有指定安装目录,安装到默认位置中
make #编译
make install #编译安装
3)使用
mount -t ntfs-3g 分区设备文件名 挂载点
第三节 fdisk分区
1.添加新硬盘
2.查看新硬盘
fdisk -l
3.使用fdisk命令分区
fdisk /dev/sdb
fdisk交互指令说明
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 附加功能
4.重新读取分区表信息
partprobe
5.格式化分区
mkfs -t ext4 /dev/sdb1
注意:扩展分区不能被格式化,只能包含逻辑分区
6.建立挂载点并挂载
mkdir /disk1
mount /dev/sdb1 /disk/
7./etc/fstab文件
第一个字段:分区设备文件名或UUID(硬盘通用唯一识别码)
第二个字段:挂载点
第三个字段:文件系统名称
第四个字段:挂载参数
第五个字段:指定分区是否被dump备份,0代表不备份,1代表每天备份,2代表不定期备份
第六个字段:指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,1的优先级比2高
注意:默认的/ /boot /home分区之默认每天备份的,备份的数据放入lost+found文件夹中
8.分区自动挂载
vi /etc/fstab
/dev/sdb1 /disk1 ext4 defaults 1 2
注意:修改/etc/fstab文件后最好先执行mount -a命令依据配置文件/etc/fstab文件内容将分区重新挂载,这样可以避免开机挂载失败使系统起不来
9./etc/fstab文件修复
mount -o remount,rw / 为根分区赋予写权限,从而修改/etc/fstab文件
第四节 分配swap分区
1.free命令
free 查看内存与swap分区使用状况
cached(缓存):是指把读出来的数据保存在内存当中,当再次读取时,不用读取硬盘而直接从内存当中读取,加速了数据的读取过程
buffer(缓冲):是指在写入数据时先把分散的写入操作保存到内存当中,当达到一定程度再集中写入硬盘,减少了磁盘碎片和硬盘的反复寻道,加速了数据的写入过程
2.新建swap分区
fdisk /dev/sdb
别忘记把分区ID改为82
3.格式化
mkswap /dev/sdb6
4.加入swap分区
swapon /dev/sdb6 加入swap分区
swapoff /dev/sdb6 取消swap分区
5.swap分区开机自动挂载
vi /etc/fstab
/dev/sdb6 swap swap defaults 0 0