上一篇
Linux磁盘空间查看方法
- Linux
- 2025-06-24
- 2228
在Linux中查看磁盘空间常用命令包括: ,1.
df -h
显示磁盘分区使用情况(人类可读格式) ,2.
du -sh [目录]
查看指定目录大小 ,3. 图形界面可使用系统自带工具(如GNOME的”磁盘”或KDE的”Filelight”)
基础命令:df
(磁盘空间概览)
df
(Disk Free)是查看文件系统整体使用情况的标准工具,属于GNU coreutils包的一部分。
df -h # 推荐:以人类可读格式(GB/MB)显示
- 关键参数:
-h
:自动转换单位(如KB→GB)-T
:显示文件系统类型(ext4, xfs等)--total
:汇总所有文件系统的总使用量
- 输出解读:
Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 32G 16G 67% /
Avail
:剩余可用空间Use%
:使用百分比(≥80%需警惕)
目录级分析:du
(目录空间详情)
du
(Disk Usage)用于统计目录或文件的磁盘占用,同样属于GNU coreutils。
du -sh /home # 查看/home目录总大小 du -h --max-depth=1 /var # 扫描/var下一级子目录大小
- 常用选项:
-s
:仅显示总大小(不递归子目录)--max-depth=N
:限制扫描深度-a
:显示所有文件(包括隐藏文件)
- 排序大目录(结合
sort
):du -h /var | sort -rh | head -n 10 # 按大小降序显示前10项
交互式工具:ncdu
(高效分析利器)
ncdu
(NCurses Disk Usage)提供交互式界面,直观定位大文件。
- 安装:
sudo apt install ncdu # Debian/Ubuntu sudo yum install ncdu # CentOS/RHEL
- 使用:
ncdu / # 扫描根目录
- 操作指南:
- :导航目录
d
:删除文件(需权限)r
:刷新统计
- 操作指南:
图形化工具(适合桌面用户)
-
GNOME Disk Usage Analyzer(Baobab)
- 安装:
sudo apt install baobab
- 特点:环形图可视化,支持远程目录扫描。
- 安装:
-
KDE Filelight
- 安装:
sudo apt install filelight
- 特点:块状视图展示空间分布。
- 安装:
高级场景与技巧
-
监控特定文件类型
查找超过100MB的日志文件:find /var/log -type f -size +100M -exec du -h {} ;
-
清理缓存(安全操作)
sudo apt clean # 清理APT缓存(Debian系) sudo journalctl --vacuum-size=200M # 限制日志大小
-
LVM/分区查看
lsblk # 查看块设备结构 vgs && lvs # 显示LVM卷组和逻辑卷
-
挂载点空间异常检测
若df
显示使用率100%,但du
统计不足:- 可能原因:文件被删除但仍被进程占用。
- 解决:重启相关服务或使用
lsof | grep deleted
定位进程。
自动化监控方案
-
定时任务(crontab)
每周发送磁盘报告:echo "0 0 * * 0 df -h > /tmp/disk_report.txt" | crontab -
-
告警脚本示例(空间超85%时通知):
#!/bin/bash ALERT=85 df -H | grep -vE 'tmpfs|cdrom' | 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 "磁盘空间不足" admin@example.com fi done
- 日常巡检:优先使用
df -h
快速概览。 - 定位大文件:
ncdu
或du | sort
深度分析。 - 长期维护:设置自动化监控,定期清理日志/缓存。
- 谨慎操作:删除文件前确认影响,避免误删系统关键数据。
引用说明: 基于GNU coreutils官方文档(https://www.gnu.org/software/coreutils/)及Linux man手册,命令行工具均通过实际环境验证,适用于主流的Linux发行版(Ubuntu, CentOS, Debian等)。