文件系统管理
1、回顾分区和文件系统
分区类型
· 主分区:总共最多只能分四个
· 扩展分区:只能有一个,也算作主分区的一种,也就是说主分区加扩展分区最多有四个。但是扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用。
· 逻辑分区:逻辑分区是在扩展分区中划分的,如果是IDE硬盘,Linux最多支持59个逻辑分区,如果是SCSI硬盘Linux最多支持11个逻辑分区。
分区表示方法
分区的设备文件名 | |
---|---|
主分区1 | /dev/sda1 |
主分区2 | /dev/sda2 |
主分区3 | /dev/sda3 |
扩展分区 | /dev/sda4 |
逻辑分区1 | /dev/sda5 |
逻辑分区2 | /dev/sda6 |
逻辑分区3 | /dev/sda7 |
(1EB=1024PB=1024*1024TB)
2、文件系统常用命令
df命令、du命令、fsck命令和dump2fs命令
文件系统查看命令 df
df [选项] [挂载点]
选项:
-a 显示所有的文件系统信息,包括特殊文件系统,如/proc、/sysfs
-h 使用习惯单位显示容量,如KB,MB或GB等
-T 显示文件系统显示容量
-m 以MB为单位显示容量
-k 以KB为单位显示容量。默认就是以KB为单位
统计目录或文件大小 du
du [选项] [目录或文件名]
选项:
-a 显示每个子文件的磁盘占有量。默认只统计子目录的磁盘占用量。
-h 使用习惯单位显示磁盘占用量,如KB,MB或GB等。
-s 统计总占用量,而不列出子目录和子文件的占用量
du命令和df命令的区别
· df命令是从文件系统考虑的,不光要考虑文件占用的空间,还要统计被命令或程序占用的空间(最常见的就是文件已经删除,但是程序并没有释放空间)
· du命令是面向文件的,只会计算文件或目录占用的空间。
文件系统修复命令 fsck
fsck [选项] 分区设备文件名
选项:
-a:不用显示用户提示,自动修复文件系统
-y:自动修复。和-a作用一致,不过有些文件系统只支持-y
显示磁盘状态命令 dumpe2fs
[root@localhost ~]#dumpe2fs 分区设备文件名
3、挂载命令
查询与自动挂载
[root@localhost ~]#mount [-l]
*#查询系统中已经挂载的设备,-l会显示卷标名称*
[root@localhost ~]mount -a
*#依据配置文件/etc/fstab的内容,自动挂载*
挂载命令格式
[root@localhost ~]#mount [-t 文件系统] [-L 卷标名]
[-o 特殊选项] 设备文件名挂载点
选项:
-t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso 9660等文件系统
-L 卷标名: 挂载指定卷标分区,而不是安装设备文件名挂载
-o 特殊选项:可以指明挂载的额外选项
挂载光盘和U盘
1、挂载光盘
[root@localhost ~]mkdir /mnt/cdrom
\#建立挂载点
[root@localhost ~]#mount -t iso9660 /dev/cdrom /mnt/cdrom
\#挂载光盘
[root@localhost ~]#mount /dev/sr0 /mnt/cdrom
2、卸载命令
[root@localhost ~]#umount 设备文件名或挂载点
eg:[root@localhost ~]#umount /mnt/cdrom
3、挂载U盘
*[root@localhost ~]#fdisk -l* #查看U盘设备文件名*
eg:[root@localhost ~]#mount -t vfat /dev/sdb1 /mnt/usb/
注意:Linux默认是不支持NTFS文件系统的
4、支持NTFS文件系统
下载NTFS-3G插件
http://www.tuxera.com/community/ntfs-3g-download/
安装NTFS-3G
[root@localhost ~]#tar -zxvf ntfs-3g_ntfsprogs-2013.1.13.tgz
#解压
[root@localhost ~]#cd ntfs-3g_ntfsprogs-2013.1.13
#接入解压目录
[root@localhost ntfs-3g_ntfsprogs-2013.1.13]# ./configure
#编译器准备.没有指定安装目录,安装到默认位置中
[root@localhost ntfs-3g_ntfsprogs-2013.1.13]# make
#编译
[root@localhost ntfs-3g_ntfsprogs-2013.1.13]# make install
#编译安装
使用
[root@localhost ~]# mount -t ntfs-3g 分区设备文件名 挂载点
5、fdisk分区
fdisk命令分区过程
1、添加新硬盘(虚拟机添加)
2、查看新硬盘
[root@localhost ~]#fdisk -l
3、使用fdisk命令分区
[root@localhost ~]#fdisk /dev/sdb
4、重新读取分区表信息
[root@localhost ~]#partprobe
5、格式化分区
[root@localhost ~]#mkfs -t ext4 /dev/sdb1
6、建立挂载点并挂载
[root@localhost ~]#mkdir /disk1
[root@localhost ~]#mount /dev/sdb1 /disk1/
6、分区自动挂载与fstab文件修复
/etc/fstab文件
· 第一字段:分区设备文件名或UUID(硬盘通用唯一识别码)
· 第二字段:挂载点
· 第三字段:文件系统名称
· 第四字段:挂载参数
· 第五字段:指定分区是否被dump备份,0代表不备份,1代表每天备份,2代表不定期备份
· 第六字段:指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,那么当然1的优先级比2高
7、分配swap分区
1、free命令
[root@localhost ~]#free
\#查看内存与swap分区使用情况
· cached(缓存):是指把读取出来的数据保存在内存当中,当再次读取时,不用读取硬盘而直接从内存当中读取,加速了数据的读取过程
· buffer(缓冲):是指在写入数据时,先把分散的写入操作保存到内存当中,当达到一定程度再集中写入硬盘,减少了磁盘碎片和硬盘的反复寻道,加速了数据的写入过程
2、新建swap分区
[root@localhost ~]#fdisk /dev/sdb
别忘记把分区ID改为82
3、格式化
[root@localhost ~]# mkswap /dev/sdb6
4、加入swap分区
[root@localhost ~]#swapon /dev/sdb6
\#加入swap分区
[root@localhost ~]#swapoff /dev/sdb6
\#取消swap分区
5、swap分区开机自动挂载
[root@localhost ~]# vi /etc/fstab
/dev/sdb6 swap swap defaults 0 0