目录
- 一、du命令基础
- 基本语法
- 为什么需要-h选项?
- 二、du -h命令详解
- 输出解读
- 常用选项组合
- 三、du与其他命令的对比
- duvsdf
- duvsls -l
- 四、实际应用场景
- 1. 查找大目录
- 2. 监控用户磁盘使用
- 3. 排除特定目录
- 4. 比较目录变化
- 五、高质量技巧与注意事项
- 1. 处理符号链接
- 2. 显示修改时刻
- 3. 性能优化
- 4. 跨文件体系统计
- 六、常见难题解答
一、du命令基础
du
(Disk Usage)命令是 Linux/Unix 体系中用于估算文件和目录磁盘使用情况的实用程序。它通过递归遍历目录结构,计算每个文件和子目录占用的磁盘空间,并以块为单位(默认情况下)显示结局。
基本语法
du [选项] [文件或目录]
如果不指定文件或目录,du
会默认统计当前目录及其所有子目录的磁盘使用情况。
为什么需要-h选项?
原始的du
命令输出以磁盘块为单位(通常 1 块=512 字节或 1KB),这种表示方式对人类阅读不够友好。例如:
du data
可能输出:
123456 data/subdir1789012 data/subdir2912468 data
这样的数字难以直观领会。-h
(human-readable)选项的出现解决了这个难题,它会自动选择最合适的单位(KB、MB、GB 或 TB)来显示大致:
du -h data
输出变为:
4.0K data/subdir18.2M data/subdir21.2G data
二、du -h命令详解
输出解读
du -h
的典型输出包含多行信息:
- 子目录行:显示每个子目录的大致和路径
- 总计行(最终一行):显示指定目录的总大致
例如:
4.0K data/subdir18.2M data/subdir21.2G data
这里:
data/subdir1
占用 4.0KBdata/subdir2
占用 8.2MB- 整个
data
目录占用 1.2GB
常用选项组合
-s
(汇总):仅显示总大致,不显示子目录详情
du -sh data
输出:
1.2G data
-c
(总计):在最终添加一个总计行
du -hc data
输出:
4.0K data/subdir18.2M data/subdir21.2G data1.2G 总用量
--max-depth=N
:控制显示的目录深度
du -h –max-depth=1 data
只显示 data 下第一级子目录的大致
三、du与其他命令的对比
duvsdf
du
(Disk Usage):从文件体系角度计算文件和目录占用的空间df
(Disk Free):显示文件体系的整体磁盘使用情况
du
更适合查找具体目录或文件占用的空间,而df
更适合查看整个磁盘或分区的使用情况。
duvsls -l
ls -l
显示的是文件的实际大致(逻辑大致)du
显示的是文件占用的磁盘空间(可能因块分配而大于实际大致)
例如,一个 1 字节的文件:
ls -l
显示 1 字节du
可能显示 4KB(取决于文件体系的块大致)
四、实际应用场景
1. 查找大目录
du -h / | sort -rh | head -n 20
这条命令组合:
- 从根目录开始计算所有目录大致
- 按人类可读格式输出
- 按大致逆序排序
- 显示前 20 个最大的目录
2. 监控用户磁盘使用
du -sh /home/*
快速查看所有用户主目录的磁盘使用情况。
3. 排除特定目录
du -h –exclude=’*.log’ /var
统计/var
目录大致,但排除所有.log
文件。
4. 比较目录变化
du -sh data 进行一些操作后du -sh data
通过两次执行比较目录大致的变化。
五、高质量技巧与注意事项
1. 处理符号链接
默认情况下,du
会统计符号链接指向的文件大致。使用-L
选项可以跟随符号链接:
du -Lh /path
2. 显示修改时刻
结合--time
选项可以显示最终修改时刻:
du -h –time data
3. 性能优化
对于大型文件体系,du
可能需要较长时刻。可以:
- 使用
--apparent-size
显示表观大致而非磁盘使用量(更快但不够准确) - 限制目录深度
--max-depth
- 在非高峰时段运行
4. 跨文件体系统计
默认du
会统计挂载点下的其他文件体系。使用-x
可以限制在当前文件体系:
du -xh /
六、常见难题解答
Q1:为什么du
和df
显示的总空间不一致?
A1:可能缘故包括:
- 已删除但仍有进程打开的文件
- 文件体系保留空间
- 不同的统计技巧(
df
统计整个文件体系,du
统计具体文件)
Q2:怎样统计目录中的文件数量而非大致?
A2:使用find
和wc
:
find data -type f | wc -l
Q3:du
显示的 size 为什么比实际文件总和要大?
A3:du
统计的是磁盘使用量,包括:
- 文件实际内容
- 文件体系元数据
- 由于块分配导致的额外空间
到此这篇关于Linux目录大致查看的常用命令详解的文章就介绍到这了,更多相关Linux目录大致查看内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!
无论兄弟们可能感兴趣的文章:
- 在Linux体系中查看目录大致的技巧
- linux下使用 du查看某个文件或目录占用磁盘空间的大致技巧
- Linux体系目录大致通过du命令获取实例
- Linux下怎样调整根目录的空间大致