Linux服务器磁盘空间查看终极指南:8种高效方法解析
作为Linux系统管理员,磁盘空间管理是日常运维中的基础必修课。本文将深入讲解8种专业级的磁盘空间查看方法,包含实际案例分析和操作建议,帮助您快速定位存储问题。
一、基础命令篇
1. df命令 - 磁盘空间概览
最基础的df -h命令显示所有挂载点的使用情况:
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 20G 5.2G 14G 28% / tmpfs 1.9G 0 1.9G 0% /dev/shm
专业提示: 添加-T参数可显示文件系统类型,-i显示inode使用情况。
2. du命令 - 目录深度分析
du -sh *可统计当前目录下各子目录占用空间:
$ du -sh /var/* 12M /var/cache 3.2G /var/log
高级用法: du --max-depth=1 -h控制扫描深度,--exclude排除特定目录。
二、进阶工具篇
3. ncdu - 可视化分析工具
需要安装的交互式工具:
$ sudo apt install ncdu # Debian/Ubuntu $ ncdu /
特点:支持键盘导航、删除操作、导出扫描结果
4. baobab - 图形化工具
GNOME桌面环境自带的磁盘使用分析器,生成直观的饼图:
$ baobab
三、运维实战技巧
5. 查找大文件
$ find / -type f -size +100M -exec ls -lh {} \;
6. 日志文件清理
使用logrotate配置自动轮转:
$ sudo logrotate -f /etc/logrotate.conf
四、监控与告警方案
7. 设置磁盘阈值告警
创建监控脚本check_disk.sh:
#!/bin/bash
ALERT=90
df -H | grep -vE '^Filesystem|tmpfs' | awk '{ print $5 " " $1 }' | while read output;
do
usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1)
partition=$(echo $output | awk '{ print $2 }')
if [ $usep -ge $ALERT ]; then
echo "空间告警: $partition 使用率 $usep%" | mail -s "磁盘警报" [email protected]
fi
done
8. 使用Prometheus+Grafana监控
配置node_exporter采集磁盘指标,Grafana展示历史趋势图。
五、疑难问题解决
- 现象: df显示磁盘已满但找不到大文件
- 排查: 检查是否有进程占用已删除文件
lsof | grep deleted - 解决方案: 重启相关进程或清空/tmp目录
最佳实践总结
- 日常使用
df -h快速查看 - 空间不足时用
ncdu深度分析 - 建立自动化监控机制
- 定期进行日志轮转和归档
