400-680-8581
欢迎访问:路由通
中国IT知识门户
位置:路由通 > 资讯中心 > 零散代码 > 文章详情

linux命令du(Linux磁盘使用查看)

作者:路由通
|
180人看过
发布时间:2025-05-03 08:47:36
标签:
Linux命令du(disk usage)是系统管理员和运维人员日常工具库中的核心命令之一,其核心功能在于递归计算指定文件或目录所占用的磁盘空间大小。与传统的ls命令仅显示文件属性不同,du通过遍历文件系统并统计每个文件和子目录的实际占用空
linux命令du(Linux磁盘使用查看)

Linux命令du(disk usage)是系统管理员和运维人员日常工具库中的核心命令之一,其核心功能在于递归计算指定文件或目录所占用的磁盘空间大小。与传统的ls命令仅显示文件属性不同,du通过遍历文件系统并统计每个文件和子目录的实际占用空间,为存储资源分析提供了精准依据。该命令支持多种输出格式和灵活的参数组合,既能快速汇总根目录的总用量,也可深入排查某个子目录中的异常文件。其重要性体现在三个方面:首先,它是诊断磁盘空间不足问题的首选工具;其次,通过参数配置可实现从概览到细节的多层级分析;再者,结合排序和过滤功能后,能有效定位占用空间较大的文件或目录。尽管现代衍生工具如ncdu提供了更友好的交互界面,但du凭借轻量化、脚本化优势仍保持不可替代的地位。

l	inux命令du

一、核心功能与基础用法

du命令的基础语法为du [选项] [路径],默认以字节为单位递归显示指定路径下所有文件和子目录的磁盘使用量。例如du /var/log会逐层展示/var/log目录下每个文件及子目录的空间占用情况。核心特点包括:

  • 递归遍历:默认深度优先遍历所有子目录
  • 实时计算:动态统计实际占用磁盘空间而非文件大小
  • 块对齐:按文件系统最小分配单元(通常为4KB)向上取整
参数作用示例
-h 以人类可读格式(K/M/G)显示 du -h /home
-s 仅显示总计值 du -sh /var/log
-a 包含目录自身的磁盘使用量 du -ah --max-depth=1

二、与df命令的本质区别

虽然du和df都用于磁盘空间分析,但两者存在本质差异:

维度dudf
分析对象 具体文件/目录的占用空间 整个文件系统的使用概况
数据来源 实际扫描文件系统元数据 读取文件系统超级块信息
输出粒度 细粒度到单个文件 仅显示挂载点的总量

典型应用场景差异:当系统根分区剩余空间告急时,先用df -h确认是哪个挂载点接近满负荷,再通过du -sh /定位具体占用大的目录。

三、关键参数深度解析

du命令的参数体系可分为四类:

  1. 格式化输出参数:-h(人类可读)、-k/-m/-g(固定单位)、-c(显示总计并保留中间结果)
  2. 遍历控制参数:-L(不跟随符号链接)、-x(限制在单文件系统)、--max-depth(限制递归深度)
  3. 排除过滤参数:--exclude=PATTERN(跳过匹配项)、--ignore-match=PATTERN(同exclude)
  4. 精度控制参数:-b(按字节计数)、-D N(只显示大于N的条目)
参数组合适用场景输出特征
du -h --max-depth=1 快速查看一级子目录用量 仅显示当前目录和直接子目录
du -sh | sort -hr 查找当前目录下最大目录 按人类可读格式降序排列
du -cS ear.log 统计所有.log文件总和 显示每个文件大小并附加总计

四、排序与过滤技巧

原始du输出往往难以直接定位问题,需结合管道和排序工具增强分析能力:

命令结构排序依据效果
du -h | sort -hr 按人类可读数值降序 快速识别最大目录/文件
du -b | sort -nr 按原始字节数降序 精确比较原始数值大小
du | awk '$1>1000000' 筛选超过1MB的条目 快速过滤小文件干扰

实战案例:查找/var/log中最大的3个目录,可执行du -h /var/log/ | sort -hr | head -3,通过管道将du输出按人类可读格式排序后取前三行。

五、精确度影响因素

du命令的统计结果受多个技术因素制约:

  1. 文件系统块大小:实际占用空间按文件系统最小分配单元(如4KB)对齐,即使1字节文件也会占用4KB
场景参数调整影响结果
统计稀疏文件真实大小 无特殊参数 显示物理存储空间占用

l	inux命令du

在实际运维中,du命令的应用场景可分为三类:

随着存储介质的发展和非结构化数据的增长,传统du命令面临新的挑战。一方面,PB级分布式存储系统需要更高效的统计算法;另一方面,容器化环境下的卷挂载机制增加了空间分析的复杂性。未来可能出现基于内存映射文件的即时统计工具,或集成机器学习模型自动识别异常增长目录。尽管如此,du凭借其简单可靠、广泛兼容的特性,仍将在中小型系统和脚本化场景中持续发挥价值。掌握其参数组合和协同使用方法,仍是每个Linux工作者必须修炼的基本功。
相关文章
新买的路由器怎么安装和设置(新路由安装设置)
新购置的路由器作为家庭或办公网络的核心设备,其安装与设置过程直接影响网络稳定性、安全性及使用体验。随着智能设备普及和网络攻击手段升级,传统"即插即用"模式已无法满足现代需求。正确安装路由器需兼顾物理层布线规范、无线信道优化、安全策略配置等多
2025-05-03 08:47:34
77人看过
如何剪辑快手短视频(快手短视频剪辑)
在移动互联网流量红利逐渐消退的背景下,快手作为下沉市场最具代表性的短视频平台,其内容生态呈现出独特的运营逻辑。剪辑快手短视频需要兼顾平台算法机制、用户消费习惯和技术实现路径三大维度。从15秒魔性洗脑视频到3分钟剧情短片,创作者需在有限时长内
2025-05-03 08:47:34
288人看过
路由器怎么接到宽带(路由器连宽带设置)
路由器作为家庭或企业网络的核心设备,其与宽带的正确连接是实现稳定网络访问的基础。随着光纤入户、5G普及以及多平台设备的广泛应用,路由器连接宽带的方式已从传统的物理接线演变为复杂的协议适配与智能配置过程。实际操作中需综合考虑宽带类型(如ADS
2025-05-03 08:47:25
395人看过
微信语音消息怎么变成铃声(微信语音转铃声)
微信语音消息转化为铃声涉及技术实现、平台适配、用户体验等多维度挑战。其核心在于将即时通讯的语音数据重构为可循环播放的提示音,需突破格式转换、权限限制、硬件兼容等障碍。从技术层面看,需解决音频解码、时长压缩、格式适配等难题;从用户体验角度,需
2025-05-03 08:47:21
155人看过
虚函数是一个非成员函数(虚函数非成员)
虚函数作为面向对象编程的核心机制,其本质是通过延迟绑定实现多态性。传统认知中虚函数被定义为成员函数,但在实际工程实践中,存在将虚函数设计为非成员函数的特殊场景。这种设计突破常规思维,在跨平台开发、插件化架构、脚本交互等领域展现独特优势。非成
2025-05-03 08:47:21
146人看过
ps中如何更改文字(PS改文字方法)
在数字设计领域,文字作为视觉传达的核心要素,其编辑与修改能力直接影响创作效率与作品质量。Photoshop作为行业标准设计工具,其文字处理功能兼具灵活性与专业性,但实际操作中常因图层结构、文本引擎差异、历史记录堆积等因素产生操作瓶颈。本文将
2025-05-03 08:47:20
389人看过