Linux 磁盘分区、挂载
@
§1 基础概念
硬盘分类
- IDE Integrated Drive Electronics,电子集成驱动器。
- 价格低、兼容强、性价比高
- 数据传输速度慢、线缆长度过短、连接设备少
- 包括小类
- ATA Advanced Technology Attachment,高级技术附加装置
- Ultra ATA
- DMA
- Ultra DMA
- SATA Serial ATA,串口硬盘
- PATA Parallel ATA,并口硬盘
- SCSI [ˈskʌzi] Small Computer System Interface,小型计算机系统接口
- SCSI接口是一个通用接口,在SCSI母线上可以连接主机适配器和八个SCSI外设控制器,外设可以包括磁盘、磁带、CD-ROM、可擦写光盘驱动器、打印机、扫描仪和通讯设备等
- SCSI是个多任务接口,设有母线仲裁功能。挂在一个SCSI母线上的多个外设可以同时工作。SCSI上的设备平等占有总线
- SCSI接口可以同步或异步传输数据,同步传输速率可以达到10MB/s,异步传输速率可以达到1.5MB/s
- SCSI接口接到外置设备时.它的连接电缆可以长达6m
分区方式
- MBR 分区
- 最多支持 4 个主分区
- 系统只能按照在主分区
- 扩展分区要占一个主分区
- 最大支持 2TB,但拥有最好的兼容性(最古老)
- GPT 分区
- 理论支持无限多主分区,但受操作系统限制(如 windows 下最大 128 个分区)
- 最大支持 18 EB,B->K->M->G->T->P->E
- windows7 64位开始支持GPT
windows 下常见分区
通常划分:
- 主分区 C
- 扩展分区 (概念)
- 逻辑分区 D
- 逻辑分区 E
- 逻辑分区 F
- ...
4个主分区和 1主3逻辑分区的区别:
方便区分系统盘和数据盘
4个主分区后无法再继续创建分区,使用逻辑分区则可以随便划分
存疑:windows7 64位开始支持 GPT,所以上面分析不太靠得住
§2 Linux 分区及相关指令
§2.1 基本认知
独立唯一的文件系统
Linux 无论划分多少分区,分别分给哪个目录使用,最终都属于一个根目录,这保证逻辑上 Linux 具有一个独立且唯一的文件结构,操作系统中任意分区都是文件系统的一部分 。
挂载(mount) 和 卸载(umount)
Linux 采用 挂载(mount)/卸载(umount) 的方式处理分区。一个分区会联系到整个文件系统的一个目录中去。因此可以使用访问目录的形式访问分区。
§2.2 Linux 下硬盘盘符
盘符通常为 hdx~ 或 sdx~
其中:
- hd 代表 IDE 硬盘
- sd 代表 SCSI 硬盘,现在基本都是此类型
- x 是盘号,为 [abcd] 之一,每一个代表一块完整的硬盘,每个硬盘可以划分主分区、扩展分区、逻辑分区
- a 基本盘
- b 基本从属盘
- c 辅助盘
- d 辅助从属盘
- ~ 是数字
- 1-4 主分区或扩展分区
- 5 以后是逻辑分区
§2.3 lsblk [查看块设备]
全称:list block devices
指令:lsblk 选项
选项说明
- -a, --all 显示所有设备
- -b, --bytes 以bytes方式显示设备大小
- -d, --nodeps 不显示 slaves 或 holders
- -D, --discard print discard capabilities
- -e, --exclude
- 排除设备 (default: RAM disks)
- -f, --fs 显示文件系统信息
- -h, --help 显示帮助信息
- -i, --ascii use ascii characters only
- -m, --perms 显示权限信息
- -l, --list 使用列表格式显示
- -n, --noheadings 不显示标题
- -o, --output
- 输出列
- -P, --pairs 使用key="value"格式显示
- -r, --raw 使用原始格式显示
- -t, --topology 显示拓扑结构信息
§2.4 fdisk [分区指令]
指令:fdisk /dev/硬盘名/
说明:
动作 | 说明 | 作用 |
---|---|---|
a | toggle a bootable flag | |
b | edit bsd disklabel | |
c | toggle the dos compatibility flag | |
d | delete a partition | 删除一个分区 |
l | list known partition types | 列出分区类型 |
m | print this menu | 显示帮助手册 |
n | add a new partition | 创建新分区 |
o | create a new empty DOS partition table | |
p | print the partition table | 列出分区表 |
q | quit without saving changes | 退出不保存 |
s | create a new empty Sun disklabel | |
t | change a partition's system id | 改变分区类型 |
u | change display/entry units | |
v | verify the partition table | |
w | write table to disk and exit | 写入磁盘并退出 |
x | extra functionality (experts only) | 扩展应用,专家功能 |
指令执行后磁盘多了新的分区,但尚未格式化
§2.5 mkfs [格式化]
全称:make file system 制作文件系统
指令:mkfs -t ext4 /dev/硬盘分区名/
执行后完成格式化,具有格式和 id,但尚未挂载
§2.6 mount [挂载]
全称:make file system 制作文件系统
指令:mount /dev/硬盘分区名 挂载目录
执行后分区具有挂载点,但重启后挂载点断开,尚未自动(永久)挂载
指令:mount -a 是自动挂载生效,每次重启从 /etc/fstab 中自动挂载
§2.7 umount [卸载]
指令:umount /dev/硬盘分区名
说明:
提示 device is busy,多为被挂载目录正在被使用,检查是否工作目录就是此目录,退出即可
§2.8 /etc/fstab [自动挂载配置]
全称:make file system 制作文件系统
§3 Linux 磁盘健康及相关指令
§3.1 df [查看系统整体磁盘使用]
全称:disk free
指令:==df -lh ==
§3.2 du [查看磁盘占用]
全称:disk usage
指令:du 参数 目录 查看指定目录磁盘占用情况,不指定目录时,默认查看当前目录
说明:
参数
- -h human,阅读友好的格式展示结果
- -s 指定目录大小汇总,只显示一个大小,单位是K
- -a 显示目录下磁盘占用,包含文件
- --max-depth 指定显示的目录最大深度
- -c 同时显示明细和汇总
§3.3 其他常用只用
文件数:ls -l 目标目录 | grep "^-" | wc -l
含子目录下文件数:ls -Rl 目标目录 | grep "^d" | wc -l
子目录数:ls -l 目标目录 | grep "^d" | wc -l
含子目录下子目录数:ls -Rl 目标目录 | grep "^d" | wc -l
树状结构显示目录:tree 目录
本文内容部分参考自
IDE 和SCSI简介
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)