本文介绍了 linux 中 df 和 du 命令的高级用法。1. df 可通过 -h、-t、-i 等参数查看易读格式、指定文件系统类型及 inode 使用情况;2. du 配合 -sh、--max-depth=1 和 sort 可灵活统计并排序目录大小;3. du 的 --exclude 参数可过滤特定文件或目录;4. find 与 du 结合可定位大文件并进行清理。掌握这些技巧有助于高效排查磁盘问题。
磁盘使用情况是运维和日常系统管理中非常常见的检查项,尤其在 Linux 系统中,df 和 du 是两个最常用的命令。但很多人只停留在基本用法上,其实它们还有不少实用的高级技巧。
df 命令用于查看文件系统的整体使用情况。默认执行 df 输出的信息可能不太直观,推荐加上 -h 参数,让结果以易读的方式展示(如 GB、MB):
df -h
如果你想查看特定文件系统的类型,比如只看 ext4 或 xfs 文件系统,可以结合 -t 参数:
df -ht ext4
还可以通过 -i 查看 inode 使用情况,这对排查“磁盘没满但无法写入”的问题很有帮助:
df -i
小贴士:有些时候你发现磁盘满了,但 du 显示目录占用不大,可能是被删除但仍被进程占用的文件占用了空间,可以用 lsof | grep deleted 检查。
du 主要用来统计目录或文件所占磁盘空间。基础用法是:
du -sh /path/to/dir
如果你想知道某个目录下各个子目录的大小,可以加上 -h 和 --max-depth=1:
du -sh --max-depth=1 /var/
这会列出 /var/ 下每个一级子目录的大小,方便快速定位大目录。
还有一种常见场景是排序查看最大目录,这时候可以配合 sort 命令:
du -sh /var/* | sort -h
这样就能按大小排序,一眼看出哪个目录最“吃”空间。
有时候我们只想统计某类文件或者排除一些不关心的内容,比如日志目录或缓存目录,可以用 --exclude 参数:
du -sh --exclude="*.log" /path/to/dir
这条命令会统计目录大小,但忽略所有 .log 文件。
也可以排除整个子目录:
du -sh --exclude="/path/to/dir/cache" /path/to/dir
这对于分析代码仓库或项目结构时特别有用,可以排除掉像 node_modules 这样的大目录。
除了查看整体和目录级别的使用情况,有时我们也需要找出具体的大文件来处理。
一个常用组合是 find + du:
find /path/to/search -type f -size +100M -exec du -h {} \; | sort -hr | head -n 20
这段命令的意思是:
这个方法能帮你快速定位哪些文件是“罪魁祸首”,进而决定是否清理或归档。
基本上就这些了。df 和 du 虽然简单,但搭配参数和其它命令一起使用,就能发挥出强大的功能。掌握这些用法,在排查磁盘问题时效率会高很多,也不容易遗漏细节。
以上就是如何查看磁盘使用情况 df和du命令高级用法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号