Linux磁盘Top10文件查看技巧
时间:2026-04-25 10:39:36 152浏览 收藏
当Linux系统响应变慢或服务异常,往往源于磁盘空间濒临耗尽,而快速定位占用空间最大的前10个文件或目录正是高效排查的关键突破口;本文系统梳理了五种实战性强、即学即用的命令技巧——从简洁可靠的du+sort组合、灵活精准的find+ls筛选、直观易用的ncdu交互式分析,到兼顾性能与准确性的find+du联动,再到可精确控制字节数阈值的awk增强方案,覆盖不同场景与需求,助你分钟级锁定“空间杀手”,从容释放磁盘压力。

如果您发现Linux系统响应变慢或服务异常,很可能是磁盘空间已接近耗尽。快速定位占用空间最大的前10个文件或目录是排查问题的关键起点。以下是多种高效、可直接执行的命令方法:
一、使用du与sort组合查找最大文件
该方法通过递归统计所有文件大小,再以人类可读格式排序并截取前10项,结果准确且兼容性高,适用于绝大多数Linux发行版。
1、在根目录下查找占用空间最大的前10个文件(跳过权限错误):
du -ah / 2>/dev/null | sort -rh | head -n 10
2、仅限当前目录层级,避免深度遍历影响性能:
du -ah . 2>/dev/null | sort -rh | head -n 10
3、排除符号链接和特殊文件系统挂载点,提升结果可靠性:
du -ahx . 2>/dev/null | sort -rh | head -n 10
二、使用find配合ls按大小排序
此方法直接调用ls -lSh获取文件详细信息并按第五列(大小)逆序排列,不依赖du统计,对硬链接和稀疏文件处理更直观,适合精确定位单个大文件。
1、查找/home目录下最大的10个普通文件:
find /home -type f -exec ls -lh {} \; 2>/dev/null | sort -rh -k5 | head -n 10
2、限定文件大小范围(如100MB至2GB之间):
find /var -type f -size +100M -size -2G -exec ls -lh {} \; 2>/dev/null | sort -rh -k5 | head -n 10
3、排除特定路径(如/proc、/sys等虚拟文件系统)以避免报错:
find / -path /proc -prune -o -path /sys -prune -o -path /dev -prune -o -type f -exec ls -lh {} \; 2>/dev/null | sort -rh -k5 | head -n 10
三、使用ncdu交互式分析磁盘占用
ncdu提供基于终端的图形化界面,支持键盘导航、实时刷新与目录钻取,特别适合人工核查复杂目录结构,且能自动忽略不可读路径,降低操作风险。
1、安装ncdu(Ubuntu/Debian):
sudo apt-get install ncdu
2、安装ncdu(CentOS/RHEL):
sudo yum install ncdu
3、启动交互式扫描(推荐从根目录开始,添加--exclude过滤临时路径):
ncdu --exclude /proc --exclude /sys --exclude /dev /
四、使用find与du结合精准定位大文件
该方法利用find筛选文件类型后交由du精确计算大小,再排序输出,避免了du -ah对目录整体计数带来的干扰,结果中每个条目均为独立文件,便于后续清理决策。
1、查找整个系统中大于500MB的普通文件,并显示其大小与路径:
find / -type f -size +500M -print0 | xargs -0 du -h | sort -rh | head -n 10
2、限制搜索范围为/var/log和/tmp,兼顾效率与针对性:
find /var/log /tmp -type f -size +100M -print0 | xargs -0 du -h | sort -rh | head -n 10
3、跳过所有用户主目录,聚焦系统级大文件:
find / -path /home -prune -o -type f -size +200M -print0 | xargs -0 du -h | sort -rh | head -n 10
五、使用awk增强筛选能力
当需按具体字节数阈值(而非模糊单位)精确匹配时,awk可解析du原始输出进行数值比对,避免-h参数导致的单位换算误差,确保结果严格符合设定条件。
1、列出所有大于1,048,576 KB(即1GB)的文件路径:
du -k / 2>/dev/null | awk '$1 > 1048576 {print $1 " KB\t" $2}' | sort -nr | head -n 10
2、只显示大小在50MB至200MB之间的文件(单位统一为KB):
du -k /var 2>/dev/null | awk '$1 > 51200 && $1
3、排除总大小为0的条目,规避设备文件或空链接干扰:
du -k . 2>/dev/null | awk '$1 > 0 {print $0}' | sort -nr | head -n 10
终于介绍完啦!小伙伴们,这篇关于《Linux磁盘Top10文件查看技巧》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
330 收藏
-
204 收藏
-
302 收藏
-
211 收藏
-
358 收藏
-
227 收藏
-
160 收藏
-
179 收藏
-
419 收藏
-
350 收藏
-
141 收藏
-
244 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习