df命令能防止磁盘满导致服务中断吗

基础语法

df [选项] [文件或目录]
  • 不加参数时,显示所有已挂载文件系统的空间使用情况(默认以1K为单位)。
  • 指定文件或目录时,显示其所在文件系统的信息。

常用选项详解

选项 作用 示例
-h 人类可读格式(自动转换单位:K/M/G) df -h
-T 显示文件系统类型(如ext4、xfs) df -T
-i 查看inode使用情况(而非磁盘空间) df -i
--total 在末尾添加汇总行 df -h --total
-x TYPE 排除指定类型的文件系统 df -x tmpfs(排除临时文件系统)
-t TYPE 仅显示指定类型的文件系统 df -t ext4(仅显示ext4)

实用场景示例

查看整体磁盘使用(推荐)

df -hT

输出示例:

文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda1      ext4       20G  8.2G   11G   44% /
tmpfs          tmpfs     1.6G     0  1.6G    0% /dev/shm
  • -h:自动转换单位(G/M),避免手动计算。
  • -T:显示文件系统类型,便于排查问题。

监控inode使用(防“磁盘未满但无法写文件”问题)

df -i /home

输出:

文件系统       Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sdb1     524288   1200  523088       1% /home
  • 已用(I)%接近100%时,需清理无用小文件释放inode。

排除临时文件系统

df -h -x tmpfs -x devtmpfs
  • 过滤tmpfs等内存文件系统,聚焦物理磁盘。

统计所有文件系统总使用量

df -h --total

末尾输出汇总行:

total          50G   30G   18G   63% -

常见问题解决

Q1:df显示磁盘已满,但实际文件不大?

  • 原因:可能被删除的文件仍被进程占用。
  • 解决:重启相关进程或系统,或使用lsof | grep deleted查找占用的进程。

Q2:dfdu结果不一致?

  • df统计整个文件系统,du计算当前目录下文件大小。
  • 若文件被删除但未释放(如日志文件被服务占用),df会显示已用空间,而du不会计入。

最佳实践

  1. 定期监控:通过cron定时运行df -h,结合邮件/告警通知。
  2. 关键目录检查:重点监控、/home/var等易满分区。
  3. 结合其他工具
    • du -sh *定位大文件。
    • lsblk查看磁盘物理结构。

重要提示:生产环境操作前备份数据!误删文件可能导致服务不可恢复。


dfLinux磁盘管理的核心命令:

  • 日常使用首选 df -hT
  • 排查存储异常时结合 -i(inode)和 -x(过滤类型)。
  • 结果异常时检查进程占用或隐藏大文件。

掌握df可有效预防磁盘故障,确保系统稳定运行。


引用说明参考Linux man-pages项目(https://www.kernel.org/doc/man-pages/)及《鸟哥的Linux私房菜》基础篇,实践基于CentOS 7/Ubuntu 20.04测试验证。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6320.html

(0)
酷番叔酷番叔
上一篇 2025年7月5日 12:48
下一篇 2025年7月5日 13:01

相关推荐

  • 如何用Windows DOS命令创建文本文件?

    方法1:用 copy con 命令(适合手动输入内容)步骤:打开命令提示符(Win+R → 输入cmd → 回车),输入命令: copy con 文件名.txt(copy con test.txt)在光标处输入文本内容(支持换行),按 Ctrl+Z → 回车保存文件,文件将保存在当前目录(命令提示符显示的路径……

    2025年7月7日
    3300
  • 易语言如何执行系统命令?

    易语言通过核心命令执行操作系统指令、启动外部程序或调用系统功能,实现程序与系统交互及任务自动化。

    2025年6月21日
    3300
  • 怎样用任务栏搜索框秒开软件?

    通过任务栏搜索框可快速启动程序、文件或系统设置,只需在搜索框输入名称关键词,系统将实时显示匹配结果,选择后即可直接打开,省去层层查找步骤,操作便捷高效。

    2025年7月1日
    3300
  • 如何启动Bash终端?

    在计算机操作中,Bash(Bourne Again SHell)是Linux、macOS及Windows Subsystem for Linux(WSL)中的默认命令行解释器,它允许用户通过输入文本指令与系统交互,执行文件管理、程序运行、系统监控等任务,掌握Bash命令的运行方法是高效使用终端的基础,以下是详细……

    2025年6月22日
    3600
  • 如何快速掌握DOS命令基础?

    DOS命令输入基础在于通过文本指令与系统交互,用户需在命令行提示符后键入特定格式的命令(通常为命令名+参数/选项),按回车键执行。

    2025年6月26日
    2500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信