使用
du -sh
命令查看当前目录总占用空间,-s
汇总显示,-h
自动转换易读单位(如KB/MB/GB),结果包含所有子目录和文件大小。
df
命令(最常用)
作用:快速查看文件系统的磁盘使用情况(挂载点、总空间、已用空间、剩余空间)。
基础用法:
df -h
-h
:以人类可读格式显示(GB/MB/KB)。- 输出示例:
Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 30G 18G 63% / tmpfs 3.9G 0 3.9G 0% /tmp
进阶技巧:
- 查看特定文件系统类型(如 ext4):
df -h -t ext4
- 排除临时文件系统(如 tmpfs):
df -h -x tmpfs
du
命令(分析目录占用)
作用:统计目录或文件的磁盘使用量,定位大文件。
常用场景:
# 查看指定目录(如 /var)的占用 du -sh /var # 递归显示子目录大小(按大小排序) du -h /home | sort -h
-s
:仅显示总大小(不递归)。-h
:人类可读格式。--max-depth=1
:限制递归深度(例:du -h --max-depth=1 /
)。
图形化工具(适合桌面用户)
- GNOME 磁盘使用分析器(Baobab):
通过baobab
命令启动,可视化展示磁盘占用。 - KDE 文件管理器:右键点击目录 → 属性 → 查看占用空间。
高级工具推荐
ncdu
(终端交互式工具):
安装:sudo apt install ncdu
(Debian/Ubuntu)或sudo yum install ncdu
(CentOS/RHEL)。
使用:ncdu /
进入交互界面,按方向键浏览目录,d 键删除文件。lsblk
:查看块设备信息(磁盘分区):lsblk -f # 显示文件系统类型
监控与自动化建议
- 设置告警:
使用cron
定时任务 +df
命令检测空间(例:当 分区使用率 >90% 时发邮件告警)。 - 日志清理:
定期清理/var/log/
(使用logrotate
)或旧内核文件(sudo apt autoremove
)。 - 扩展磁盘:
若使用 LVM,可通过lvextend
动态扩容(需提前规划)。
为什么需要定期检查?
- 系统稳定性:根分区()满会导致系统无法写入日志或创建临时文件。
- 服务运行:数据库(如 MySQL)、Web 服务(如 Nginx)可能因空间不足崩溃。
- 数据安全:避免因空间耗尽导致文件损坏。
常见问题排查
df
显示已用 100%,但du
找不到大文件?
可能是已删除文件仍被进程占用(如日志文件),解决:lsof +L1 # 查看未释放空间的进程 sudo systemctl restart service_name # 重启相关服务释放空间
- 空间被隐藏文件占用?
使用du -sh /home/.*
检查用户目录下的隐藏文件(如.cache
)。
引用说明: 基于 Linux 核心工具(df、du)的官方文档及社区最佳实践(如 Ubuntu Wiki),适用于主流通用发行版(Debian, Ubuntu, CentOS, RHEL 等),操作前请确保您有相应权限,生产环境建议备份数据。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6256.html