Linux 磁盘管理命令深度解析1. 磁盘管理基础概述Linux系统提供了一套完整的磁盘管理工具链其中三个核心命令构成了磁盘运维的基础框架df(disk free)文件系统级磁盘空间监控du(disk usage)目录/文件级空间分析fdisk物理磁盘分区管理这三个命令覆盖了从物理磁盘到文件系统的完整管理层次是系统管理员日常维护的必备工具。2. 文件系统空间监控df命令2.1 基本功能与语法df命令用于监控文件系统的磁盘空间使用情况其基本语法为df [选项] [目录或文件名]2.2 核心参数解析参数功能描述-a显示所有文件系统包括/proc等特殊文件系统-h人性化显示自动转换GB/MB/KB-H以1000为换算单位替代1024-T显示文件系统类型-i显示inode使用情况而非块使用2.3 典型应用场景场景1快速查看所有挂载点空间$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 20G 3.2G 16G 17% / tmpfs 1.9G 0 1.9G 0% /dev/shm场景2检查特定目录所在文件系统$ df -h /var/log Filesystem Size Used Avail Use% Mounted on /dev/sda2 50G 12G 36G 25% /var场景3inode使用监控预防磁盘未满但无法写入问题$ df -i /home Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda3 3276800 45082 3231718 2% /home3. 目录空间分析du命令3.1 与df的差异对比特性dfdu分析对象文件系统文件/目录数据来源文件系统超级块实际遍历文件系统执行速度快慢大数据量时典型用途宏观空间监控微观空间定位3.2 命令语法与参数du [选项] 文件或目录关键参数说明参数功能说明-s只显示总用量-h人性化显示-c显示总计--max-depthN限制目录遍历深度3.3 实用技巧查找大容量目录快速定位空间占用$ du -h --max-depth1 /var | sort -h 4.0K /var/local 12M /var/spool 156M /var/log 2.1G /var/lib 2.3G /var统计当前目录总用量$ du -sh 14G .排除特定文件类型$ du -h --exclude*.log4. 磁盘分区管理fdisk4.1 基本操作流程列出磁盘信息fdisk -l进入交互模式fdisk /dev/sdX常用子命令n新建分区d删除分区p打印分区表w写入并退出q放弃更改退出4.2 分区操作示例创建新分区流程# fdisk /dev/sdb Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-20971519, default 2048): Last sector, sectors or size{K,M,G} (2048-20971519, default 20971519): 10G Command (m for help): w4.3 高级功能GPT分区支持parted /dev/sdb (parted) mklabel gpt分区对齐检查parted /dev/sdb align-check optimal 15. 配套工具链5.1 文件系统创建mkfs# 创建ext4文件系统 mkfs -t ext4 /dev/sdb1 # 指定块大小适合大文件存储 mkfs -t ext4 -b 4096 /dev/sdb15.2 文件系统检查fsck# 交互式检查 fsck /dev/sda1 # 自动修复 fsck -y /dev/sda15.3 挂载管理临时挂载mount /dev/sdb1 /mnt/data永久挂载/etc/fstab示例/dev/sdb1 /data ext4 defaults,noatime 0 2卸载操作umount /mnt/data # 强制卸载当设备忙时 umount -l /mnt/data6. 生产环境最佳实践监控策略使用df -h结合watch命令实现实时监控watch -n 60 df -h自动化报警#!/bin/bash THRESHOLD90 df -h | awk -v ALERT$THRESHOLD /\/dev/ {gsub(/%/,,$5); if ($5 ALERT) print $1 usage: $5 %}日志轮转配置# /etc/logrotate.conf示例 /var/log/app.log { daily rotate 7 compress missingok notifempty }LVM扩展流程# 物理卷扩展 pvresize /dev/sdb1 # 逻辑卷扩展 lvextend -L 10G /dev/vg00/lv_data # 文件系统扩展 resize2fs /dev/vg00/lv_data
Linux磁盘管理核心命令:df、du与fdisk详解
Linux 磁盘管理命令深度解析1. 磁盘管理基础概述Linux系统提供了一套完整的磁盘管理工具链其中三个核心命令构成了磁盘运维的基础框架df(disk free)文件系统级磁盘空间监控du(disk usage)目录/文件级空间分析fdisk物理磁盘分区管理这三个命令覆盖了从物理磁盘到文件系统的完整管理层次是系统管理员日常维护的必备工具。2. 文件系统空间监控df命令2.1 基本功能与语法df命令用于监控文件系统的磁盘空间使用情况其基本语法为df [选项] [目录或文件名]2.2 核心参数解析参数功能描述-a显示所有文件系统包括/proc等特殊文件系统-h人性化显示自动转换GB/MB/KB-H以1000为换算单位替代1024-T显示文件系统类型-i显示inode使用情况而非块使用2.3 典型应用场景场景1快速查看所有挂载点空间$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 20G 3.2G 16G 17% / tmpfs 1.9G 0 1.9G 0% /dev/shm场景2检查特定目录所在文件系统$ df -h /var/log Filesystem Size Used Avail Use% Mounted on /dev/sda2 50G 12G 36G 25% /var场景3inode使用监控预防磁盘未满但无法写入问题$ df -i /home Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda3 3276800 45082 3231718 2% /home3. 目录空间分析du命令3.1 与df的差异对比特性dfdu分析对象文件系统文件/目录数据来源文件系统超级块实际遍历文件系统执行速度快慢大数据量时典型用途宏观空间监控微观空间定位3.2 命令语法与参数du [选项] 文件或目录关键参数说明参数功能说明-s只显示总用量-h人性化显示-c显示总计--max-depthN限制目录遍历深度3.3 实用技巧查找大容量目录快速定位空间占用$ du -h --max-depth1 /var | sort -h 4.0K /var/local 12M /var/spool 156M /var/log 2.1G /var/lib 2.3G /var统计当前目录总用量$ du -sh 14G .排除特定文件类型$ du -h --exclude*.log4. 磁盘分区管理fdisk4.1 基本操作流程列出磁盘信息fdisk -l进入交互模式fdisk /dev/sdX常用子命令n新建分区d删除分区p打印分区表w写入并退出q放弃更改退出4.2 分区操作示例创建新分区流程# fdisk /dev/sdb Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-20971519, default 2048): Last sector, sectors or size{K,M,G} (2048-20971519, default 20971519): 10G Command (m for help): w4.3 高级功能GPT分区支持parted /dev/sdb (parted) mklabel gpt分区对齐检查parted /dev/sdb align-check optimal 15. 配套工具链5.1 文件系统创建mkfs# 创建ext4文件系统 mkfs -t ext4 /dev/sdb1 # 指定块大小适合大文件存储 mkfs -t ext4 -b 4096 /dev/sdb15.2 文件系统检查fsck# 交互式检查 fsck /dev/sda1 # 自动修复 fsck -y /dev/sda15.3 挂载管理临时挂载mount /dev/sdb1 /mnt/data永久挂载/etc/fstab示例/dev/sdb1 /data ext4 defaults,noatime 0 2卸载操作umount /mnt/data # 强制卸载当设备忙时 umount -l /mnt/data6. 生产环境最佳实践监控策略使用df -h结合watch命令实现实时监控watch -n 60 df -h自动化报警#!/bin/bash THRESHOLD90 df -h | awk -v ALERT$THRESHOLD /\/dev/ {gsub(/%/,,$5); if ($5 ALERT) print $1 usage: $5 %}日志轮转配置# /etc/logrotate.conf示例 /var/log/app.log { daily rotate 7 compress missingok notifempty }LVM扩展流程# 物理卷扩展 pvresize /dev/sdb1 # 逻辑卷扩展 lvextend -L 10G /dev/vg00/lv_data # 文件系统扩展 resize2fs /dev/vg00/lv_data