目录
【分区和文件系统】
◆ 分区类型
* 主分区:总共最多只能分四个
* 扩展分区:只能有一个,也算作主分区的一种,也就是说主分区加扩展分区最多有四个。但是扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用。
-- 逻辑分区:逻辑分区是在扩展分区中划分的,如果是IDE硬盘,Linux最多支持59个逻辑分区,如果是SCSI硬盘Linux最多支持11个逻辑分区
◆ 文件系统
ext2:是ext文件系统的升级版本,Red Hat Linux7.2版本以前的系统默认都是ext2文件系统。1993年发布,最大支持16TB的分区和最大2TB的文件(1TB=1024GB=1024*1024KB)
ext3: ext3文件系统是ext2文件系统的升级版本,最大的区别就是带日志功能,以在系统突然停止时提高文件系统的可靠性。支持最大16TB的分区和最大2TB的文件
ext4:它是ext3文件系统的升级版。ext4 在性能、伸缩性和可靠性方面进行了大量改进。EXT4的变化可以说是翻天覆地的,比如向下兼容EXT3、最大1EB文件系统和16TB文件、无限数量子目录、Extents连续数据块概念、多块分配、延迟分配、持久预分配、快速FSCK、日志校验、无日志模式、在线碎片整理、inode增强、默认启用barrier等。是CentOS 6.3的默认文件系统(1EB=1024PB=1024*1024TB)
【文件系统常用命令】
◆ df命令、du命令、fsck命令和dump2fs命令
文件系统查看命令df
[root@localhost ~]# df [选项] [挂载点]
选项:
-a 显示所有的文件系统信息,包括特殊文件系统,如/proc、/sysfs
-h 使用习惯单位显示容量,如KB,MB或GB等
-T 显示文件系统类型
-m 以MB为单位显示容量
-k 以KB为单位显示容量。默认就是以KB为单位
统计目录或文件大小du
[root@localhost ~]# du [选项] [目录或文件名]
选项:
-a 显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量
-h 使用习惯单位显示磁盘占用量,如KB,MB或GB等
-s 统计总占用量,而不列出子目录和子文件的占用量
说明:一般不会用这个命令统计文件大小,统计文件使用ll。但是,如果使用ll查看某个目录:
看到的其实只有这个目录下的一级子目录和一级子文件,不会递归统计。
如果要递归的统计某个目录的全部大小,使用du:
上面列出的其实是/etc 目录以及所有子目录的大小。如果只想查看/etc 目录的大小,使用du -sh /etc
* 分析:du命令和df命令的区别
df命令是从文件系统考虑的,不光要考虑文件占用的空间,还要统计被命令或程序占用的空间(最常见的就是文件已经删除,但是程序并没有释放空间)
du命令是面向文件的,只会计算文件或目录占用的空间。
磁盘实际可用的,还是要以df 统计的结果为准。
文件系统修复命令fsck
[root@localhost ~]# fsck [选项] 分区设备文件名(sda1/sda2/sda3/...)
选项:
-a: 不用显示用户提示,自动修复文件系统
-y: 自动修复。和-a作用一致,不过有些文件系统只支持-y
说明:此命令在系统启动时会自动执行并检测修复。此命令仅供了解,一般情况下不要去手动执行此命令,除非特别需要。
显示磁盘状态命令dumpe2fs
[root@localhost ~]# dumpe2fs 分区设备文件名(sda1/sda2/sda3/...)
挂载命令
查询与自动挂载
[root@localhost ~]# mount [-l] #查询系统中已经挂载的设备,-l会显示卷标名称
[root@localhost ~]# mount –a #依据配置文件/etc/fstab的内容,自动挂载
挂载命令格式
[root@localhost ~]# mount [-t 文件系统] [-L 卷标名] [-o 特殊选项] 设备文件名 挂载点
选项:
-t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660等文件系统
-L 卷标名: 挂载指定卷标的分区,而不是安装设备文件名挂载
-o 特殊选项:可以指定挂载的额外选项
[root@localhost ~]# mount -o remount,noexec /home #重新挂载/boot分区,并使用noexec权限
[root@localhost sh]# cd /home
[root@localhost boot]# vi hello.sh
[root@localhost boot]# chmod 755 hello.sh
[root@localhost boot]# ./hello.sh
[root@localhost boot]# mount -o remount,exec /home #记得改回来啊,要不会影响系统启动的
挂载光盘与U盘
挂载光盘
[root@localhost ~]# mkdir /mnt/cdrom/ #建立挂载点
[root@localhost ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/ #挂载光盘
[root@localhost ~]# mount /dev/sr0 /mnt/cdrom/
/dev/cdrom 其实是 sr0 的软连接
卸载命令
[root@localhost ~]# umount 设备文件名或挂载点
[root@localhost ~]# umount /mnt/cdrom
挂载U盘
[root@localhost ~]# fdisk –l #查看U盘设备文件名
[root@localhost ~]# mount -t vfat /dev/sdb1 /mnt/usb/
注意:Linux默认是不支持NTFS文件系统的;windows的fat16在这里使用fat,fat32使用vfat.
卸载使用:umount /dev/sdb1,然后拔出U盘。
支持NTFS文件系统
1、下载NTFS-3G插件 Open source NTFS-3G, Reliance Edge, TUFS, POSIX, other contributions - Tuxera
2、安装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 #编译安装
3、使用
[root@localhost ~]# mount -t ntfs-3g 分区设备文件名 挂载点
【fdisk分区】
◆ fdisk命令分区过程
-
添加新硬盘
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/
分区自动挂载与fstab文件修复
1、/etc/fstab文件
第一字段:分区设备文件名或UUID(硬盘通用唯一识别码)
第二字段:挂载点
第三字段:文件系统名称
第四字段:挂载参数
第五字段:指定分区是否被dump备份,0代表不备份,1代表每天备份,2代表不定期备份
第六字段:指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,那么当然1的优先级比2高
2、分区自动挂载
[root@localhost ~]# vi /etc/fstab
…省略部分输出…
/dev/sdb5 /disk5 ext4 defaults 1 2
3、/etc/fstab文件修复
[root@localhost ~]# mount -o remount,rw /