Concept

linux

2026-04-24

概述

介绍 Linux 中用于查看硬盘信息和分区的命令(如 fdisk、lsblk、df 等)及分区创建、格式化、挂载的完整流程。

什么是 linux

Linux 是开源的类 Unix 操作系统内核,通过发行版(如 Ubuntu、CentOS)提供完整操作系统。其核心特性包括模块化设计、多用户支持、硬件抽象层和丰富的命令行工具链,广泛用于服务器、嵌入式系统及个人计算领域。


核心概念

硬盘信息查看命令

  • fdisk -l:列出磁盘分区表(MBR 分区方案),支持交互式分区操作。
  • lsblk:以树形结构展示块设备(磁盘/分区)与挂载点的映射关系。
  • df -h:显示文件系统磁盘空间使用情况(含挂载点)。
  • blkid:查询设备的 UUID、文件系统类型等元数据。
  • parted:支持 GPT 分区表的交互式工具,适合大容量磁盘。
  • hdparm -i /dev/sdX:查询磁盘硬件参数(如缓存、传输模式)。

分区与挂载流程

  1. 分区创建

    • 使用 fdiskparted 定义分区(主分区/扩展分区/逻辑分区)。
    • 保存分区表(w 退出并写入,q 放弃修改)。
  2. 格式化

    • mkfs.ext4 /dev/sdXN:创建 ext4 文件系统(其他类型如 XFS、FAT32 可替换)。
  3. 挂载

    • mount /dev/sdXN /mnt/point:临时挂载到目录。
    • 永久挂载需编辑 /etc/fstab,配置 UUID=... /mnt/point ext4 defaults 0 2
  4. 验证

    • df -h 确认挂载状态,lsblk 验证设备链。

典型应用场景

  • 服务器磁盘扩容:云服务器新增数据盘后,通过分区、格式化、挂载扩展存储。
  • 开发环境配置:为 Docker 容器或虚拟机划分独立分区以隔离数据。
  • 数据恢复:通过 fdisk 分析分区表损坏情况,结合 dd 复制数据。
  • 嵌入式系统部署:在单片机或开发板上划分根文件系统分区。

相关技术

  • LVM(逻辑卷管理):动态调整磁盘容量,支持快照和跨物理磁盘卷组。
  • RAID 配置:通过 mdadm 实现磁盘冗余或性能优化(RAID 0/1/5)。
  • 文件系统:ext4(日志型)、XFS(高性能)、Btrfs(支持快照)。
  • SELinux/AppArmor:挂载时需配置安全策略以限制访问权限。

学习路径建议

  1. 基础命令

    • 掌握 lsblkdfblkid 的输出解析,熟悉设备命名规则(/dev/sdX)。
  2. 实践操作

    • 在虚拟机中模拟分区(如使用 fdisk 创建 2 个分区并挂载到 /data)。
    • 练习 mount/etc/fstab 配置,理解 UUID 与设备路径的绑定。
  3. 进阶主题

    • 学习 LVM 的 pvcreatevgextend 等命令,实践动态扩容。
    • 研究 RAID 构建与故障模拟(如 mdadm --create)。
  4. 底层原理

    • 阅读 Linux 内核源码中块设备驱动(drivers/block/)的实现逻辑。
    • 理解文件系统元数据结构(如 ext4 的 inode 与 superblock)。

相关来源