Linux之磁盘管理
1.概述
- Linux系统中硬件设备都是以文件的形式存在于根目录下的dev目录下
- 硬件设备都是由Linux系统自动识别的
- 必须对硬盘进行分区、格式化、挂载后才能使用
2.系统分区
(依赖于硬盘结构,同样适用于Linux和Windows)
分区类型
- 主分区:最多只能有四个(主分区或扩展分区用分区号1,2,3,4来表示)
- 扩展分区
- 最多只能有一个
- 主分区加扩展分区最多只能有四个
- 不能直接存取数据,只能包含逻辑分区
- 逻辑分区(必须从5开始)
分区——格式化(为了写入文件系统)——设备文件名——挂载
- 挂载:可以理解为Windows的盘符A,B,C,D等,但在Linux中是用目录来作为盘符
必须分区:
1. “ / ” 根分区
2. swap分区(交换分区或虚拟内存)
推荐分区:
/boot分区(启动分区,200MB)
虽然/boot,/home这些分区都属于/根目录,但当对其进行单独分区后,其在硬盘的存储空间上是独立于/根目录的存储空间的
举例:/dev/sda1:第一块硬盘的第一块分区
- 最左侧的“ / ”表示根目录
- dev是根目录下的一级目录,用来保存硬件设备文件名
- sd代表SCSI硬盘接口、SATA硬盘接口
- a表示第一个硬盘
- 1表示第一个分区
磁盘管理基本命令
df 查看磁盘分区使用状况
-l 仅显示本地磁盘(默认)
-a 显示所有文件系统的磁盘使用情况,包含比如/proc/(查看包括0字节文件)
-h 以1024进制计算最合适的单位显示磁盘容量
-H 以1000进制计算最合适的单位显示磁盘容量
-T 显示磁盘分区类型(各个分区使用的文件系统类型)
-t [文件系统类型] 显示指定类型文件系统的磁盘分区
例如:df -lhT -t ext4
-x [文件系统类型] 不显示指定类型文件系统的磁盘分区
例如:df -lhT -x ext4
du 统计磁盘上的文件或目录大小
-b 以byte为单位统计文件
-k 以KB为单位统计文件
-m 以MB为单位统计文件
-h 按照1024进制以最适合的单位统计文件
-H 按照1000进制以最适合的单位统计文件
-s 指定统计目标 例如:du -sb *.zip
2.1MBR和GPT两种分区方法
详见:https://blog.csdn.net/theVicTory/article/details/64439000
2.2分区的格式化
无论使用上述哪种分区方式,都可以使用mkfs工具进行分区的格式化
mkfs -t [文件系统类型] [设备文件名]
如:mkfs -t ext4 /dev/sdb1
- 扩展分区不能格式化
- 只有主分区和逻辑分区可以格式化
2.3挂载分区
- 理论上可以挂载到系统的任意位置,但分区默认的挂目录时/mnt目录
- 详见:https://blog.csdn.net/weixin_43217963/article/details/89004028
- 但这种挂载方式是临时的,永久需要将其写入/etc/fstab
vim /etc/fstab
写入:设备名称 挂载点 文件系统类型 defaults 0 0
2.4swap分区
为磁盘添加SWAP交换分区:
- 建立一个普通的Linux分区
- 修改分区类型的16进制编码
- 格式化交换分区
- 启用交换分区