登录
首页 >  文章 >  linux

Linux查看文件大小命令du详解

时间:2026-04-08 13:36:52 281浏览 收藏

想精准掌握Linux系统中文件和目录的磁盘占用情况?du命令远不止“查看大小”那么简单——它支持人性化显示(-h)、智能汇总(-s)、灵活排除(--exclude)、分层分析(--max-depth)、实时监控(watch)等强大功能,无论是快速定位巨型文件、排查存储瓶颈,还是动态跟踪日志增长或清理效果,都能游刃有余;从单个文件到多级目录,从静态统计到动态刷新,这篇详解带你全面解锁du的实用技巧,让磁盘空间管理变得清晰、高效、可控。

linux如何查看文件大小_Linux统计目录占空间du命令【工具】

如果您需要了解Linux系统中某个文件或目录所占用的磁盘空间,可以使用du(disk usage)命令进行精确统计。以下是执行该任务的具体操作步骤:

一、查看单个文件的大小

du命令默认以块(通常为1024字节)为单位显示文件大小,配合-h参数可输出人类可读格式(如KB、MB、GB),便于直观判断文件体积。

1、在终端中输入:du -h filename,其中filename替换为实际文件路径。

2、若需仅显示总大小而不列出子项,添加-s参数:du -sh filename

3、如文件权限受限,可加sudo前缀执行:sudo du -sh filename

二、统计目录总占用空间

du对目录默认递归计算所有子目录及文件的磁盘用量,-s参数用于抑制逐级展开,仅返回顶层目录汇总值,避免冗长输出。

1、进入目标目录所在路径后,执行:du -sh /path/to/directory

2、若当前已在目标目录内,可使用点号代替路径:du -sh .

3、要排除特定子目录(如node_modules),可结合--exclude参数:du -sh --exclude="node_modules" .

三、按大小排序显示子目录占用

通过du列出各子目录用量并配合sort命令,可快速识别占用空间最大的目录,有助于定位存储瓶颈。

1、执行命令:du -sh */ | sort -hr,其中*/匹配当前目录下所有子目录。

2、若需包含隐藏目录(以.开头),改用:du -sh .*/ */ | sort -hr | head -n 20,限制输出前20行。

3、为提高可读性,可添加--max-depth=1限制只统计一级子目录:du -sh --max-depth=1 /path/to/dir | sort -hr

四、显示指定深度的目录结构与大小

--max-depth参数控制du递归遍历的层级深度,适用于需分层分析目录空间分布的场景,避免全量扫描带来的性能开销。

1、仅显示目标目录及其直接子目录大小:du -sh --max-depth=1 /path/to/dir

2、显示两层深度(目录、子目录、子子目录):du -sh --max-depth=2 /path/to/dir

3、若需排除符号链接指向的内容,添加-L参数:du -shL --max-depth=1 /path/to/dir

五、实时监控目录空间变化

结合watch命令可周期性刷新du结果,适用于观察文件写入、日志增长或清理操作的效果。

1、每2秒刷新一次当前目录总大小:watch -n 2 'du -sh .'

2、高亮显示变化部分,增强可读性:watch -n 5 'du -sh --max-depth=1 . | sort -hr'

3、退出监控按Ctrl+C组合键。

终于介绍完啦!小伙伴们,这篇关于《Linux查看文件大小命令du详解》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>