Concept
linux
概述
介绍 Linux 中用于查看硬盘信息和分区的命令(如 fdisk、lsblk、df 等)及分区创建、格式化、挂载的完整流程。
什么是 linux
Linux 是开源的类 Unix 操作系统内核,通过发行版(如 Ubuntu、CentOS)提供完整操作系统。其核心特性包括模块化设计、多用户支持、硬件抽象层和丰富的命令行工具链,广泛用于服务器、嵌入式系统及个人计算领域。
核心概念
硬盘信息查看命令
fdisk -l:列出磁盘分区表(MBR 分区方案),支持交互式分区操作。lsblk:以树形结构展示块设备(磁盘/分区)与挂载点的映射关系。df -h:显示文件系统磁盘空间使用情况(含挂载点)。blkid:查询设备的 UUID、文件系统类型等元数据。parted:支持 GPT 分区表的交互式工具,适合大容量磁盘。hdparm -i /dev/sdX:查询磁盘硬件参数(如缓存、传输模式)。
分区与挂载流程
-
分区创建
- 使用
fdisk或parted定义分区(主分区/扩展分区/逻辑分区)。 - 保存分区表(
w退出并写入,q放弃修改)。
- 使用
-
格式化
mkfs.ext4 /dev/sdXN:创建 ext4 文件系统(其他类型如 XFS、FAT32 可替换)。
-
挂载
mount /dev/sdXN /mnt/point:临时挂载到目录。- 永久挂载需编辑
/etc/fstab,配置UUID=... /mnt/point ext4 defaults 0 2。
-
验证
df -h确认挂载状态,lsblk验证设备链。
典型应用场景
- 服务器磁盘扩容:云服务器新增数据盘后,通过分区、格式化、挂载扩展存储。
- 开发环境配置:为 Docker 容器或虚拟机划分独立分区以隔离数据。
- 数据恢复:通过
fdisk分析分区表损坏情况,结合dd复制数据。 - 嵌入式系统部署:在单片机或开发板上划分根文件系统分区。
相关技术
- LVM(逻辑卷管理):动态调整磁盘容量,支持快照和跨物理磁盘卷组。
- RAID 配置:通过
mdadm实现磁盘冗余或性能优化(RAID 0/1/5)。 - 文件系统:ext4(日志型)、XFS(高性能)、Btrfs(支持快照)。
- SELinux/AppArmor:挂载时需配置安全策略以限制访问权限。
学习路径建议
-
基础命令
- 掌握
lsblk、df、blkid的输出解析,熟悉设备命名规则(/dev/sdX)。
- 掌握
-
实践操作
- 在虚拟机中模拟分区(如使用
fdisk创建 2 个分区并挂载到/data)。 - 练习
mount和/etc/fstab配置,理解 UUID 与设备路径的绑定。
- 在虚拟机中模拟分区(如使用
-
进阶主题
- 学习 LVM 的
pvcreate、vgextend等命令,实践动态扩容。 - 研究 RAID 构建与故障模拟(如
mdadm --create)。
- 学习 LVM 的
-
底层原理
- 阅读 Linux 内核源码中块设备驱动(
drivers/block/)的实现逻辑。 - 理解文件系统元数据结构(如 ext4 的 inode 与 superblock)。
- 阅读 Linux 内核源码中块设备驱动(