[TOC]
分区和文件系统
-
分区类型
- 主分区:总共最多只能分四个。
- 扩展分区:只能有一个,也算作主分区的一种,也就是说主分区加扩展分区最多有四个。但是扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用。
- 逻辑分区:逻辑分区是在扩展分区中划分的。
-
分区示意图
-
分区的设备文件名
分区 设备文件名 主分区1 /dev/sda1 主分区2 /dev/sda2 主分区3 /dev/sda3 扩展分区 /dev/sda4 逻辑分区1 /dev/sda5 逻辑分区2 /dev/sda6 逻辑分区3 /dev/sda7 注意: 第一个逻辑分区永远从sda5开始,1~4是保留给主分区和扩展分区的。
-
文件系统
硬盘分完区后还不能使用,必须格式化,即写入文件系统。例如ext4 。
文件系统常用命令
-
df命令
文件系统查看命令,可以用来查看分区使用情况和挂载点。
选项:
- -a:显示所有的文件系统信息,包括特殊文件系统,如/proc、/sysfs。
- -h:人性化显示容量,如MB或者GB。
- -T:显示文件系统类型。
- -m:以MB为单位显示容量。
- -k:以KB为单位显示容量。默认就是以KB为单位。
-
du命令
统计目录或文件大小。
du [选项] [目录或文件名]
选项:
- -a:显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量。
- -h:人性化显示磁盘占用量。
- -s:统计总占用量,而不列出子目录和子文件的占用量。
注意1:ls命令也可以显示目录和文件的大小,但是目录的大小却不是我们想要的,因为它显示的是目录下子文件的文件名占用的大小,而不是文件实际占用的大小。
注意2:如果你仔细观察,可能会发现df命令统计的
/
目录的大小比du命令统计的大。原因是df命令是从文件系统考虑的,不光要考虑文件占用的空间,还要统计被命令或者程序占用的空间(最常见的就是文件已经删除,但是程序并没有释放空间)。 -
挂载命令
-
查询系统中已经挂载的设备
mount [-l]
-l
会显示卷标名称。卷标就是给分区起个别名。 -
自动挂载
mount -a
依据配置文件/etc/fstab的内容,自动挂载。光盘、U盘和移动硬盘不能做成自动挂载,因为不能保证系统启动时存在这些设备,如果不存在系统就会崩溃。
-
手动挂载
mount [-t 文件系统] [-L 卷标名] \ [-o 特殊选项] 设备文件名 挂载点
-
-
挂载光盘与U盘
一般
/mnt
用来挂载U盘,/media
用来挂载光盘。-
挂载光盘
-
建立挂载点
mkdir /media/cdrom/
-
挂载光盘
mount -t iso9660 /dev/cdrom /media/cdrom/
或者
mount /dev/sr0 /media/cdrom/
因为
/dev/cdrom
是sr0
的软连接。另外文件系统不用明确指出来,如果挂载的是光盘,文件系统默认就是iso9660。 光盘的设备文件名的规则是cdrom,cdrom1,cdrom2或者sr0,sr1,sr2。
-
-
挂载U盘
U盘的设备文件名规则和光盘不同,而是和硬盘相同,即sda,sdb,sdc…。
-
查看U盘设备文件名
fdisk -l
-
建立挂载点
mkdir /mnt/usb/
-
挂载
mount -t vfat /dev/sdb1 /mnt/usb/
注意:linux默认是不支持NTFS文件系统的。
-
-
-
卸载命令
umount 设备文件名或挂载点
-
支持NTFS文件系统
-
安装NTFS-3G插件
-
使用
mount -t ntfs-3g 分区设备文件名 挂载点
-
fdisk分区
-
添加新硬盘
-
查看新硬盘
fdisk -l
-
分区
fdisk /dev/sdb
在编辑完分区设置保存退出时,可能会提示重启系统才能生效,如果不想重启我们可以执行一条命令
partprobe
用来重新读取分区表信息。 -
格式化分区
mkfs -t ext4 /dev/sdb1
注意:扩展分区不能格式化。不是说扩展分区中的逻辑分区不能格式化,而是不能用扩展分区的设备文件名来格式化。
-
建立挂载点并挂载
注意:使用mount命令挂载,当系统重启后挂载就失效了。应当把挂载信息写入
/etc/fstab
文件中。
/etc/fstab文件修复
-
分区自动挂载
把分区挂载信息写入
/etc/fstab
文件中,当系统启动时会根据这个文件自动挂载分区。 编辑完后,应该使用命令
mount -a
重新把所有分区挂载一遍,防止编辑有误。 -
fstab文件修复
万一
/etc/fstab
文件写错了,系统启动时报错了,按照提示我们应该输入root用户的密码登录系统,然后重新编辑/etc/fstab
文件。但是这时发现此文件是只读的,那是因为此时根分区是只读挂载的,我们应该使用下面的命令重新挂载根分区:mount -o remount,rw /
然后重新编辑
/etc/fstab
文件,重启系统。注意:此修复方法必须保证文件中根分区的信息是正确的。