du -sh统计的是当前用户有读取权限的磁盘占用,不包含隐藏文件(除非显式指定)、不跟随符号链接、跳过无权访问目录,故结果可能偏小;du -sh .统计当前目录总大小(含隐藏项),du -sh *仅统计非隐藏子项。
是最常用也最容易出错的目录大小统计方式。它不显示子目录明细,只输出一个汇总值,但这个“汇总”是否包含隐藏文件、是否递归进符号链接、是否受权限限制——全看你怎么用。
为什么
有时不准
根本原因在于
统计的是磁盘占用(disk usage),不是文件逻辑大小;它只计算当前用户有读取权限的文件,跳过无权访问的子目录,也不会展开无法解析的符号链接。
遇到权限不足的子目录(比如
),
直接跳过,结果偏小
符号链接默认不跟随,若目标在别处,其大小不计入
硬链接被重复计数(
可避免),而软链接本身只算几个字节
稀疏文件、已删除但未释放的文件句柄,
不感知
和
的区别必须分清
前者统计当前目录总大小(含隐藏项);后者只统计当前目录下**非隐藏**的子项(
不匹配
这类点开头的文件/目录),漏掉
、
等常见大目录。
Docker Desktop(linux)
当前 Docker 最新稳定版本之一,主要针对稳定性和兼容性进行了修复优化,适合生产环境与日常开发使用。该版本继续强化 AI 开发支持、容器日志管理以及 Docker Engine 的安全能力,对 Windows/macOS/Linux 平台兼容性进行了进一步优化。
下载
→ 输出一行,如
→ 列出每个非隐藏子项,但不含
自身,也不含
、
等
要真正“看到所有”,得用
或更稳妥的
快速查大目录:加
再配合
单纯
只给总数,没法定位哪个子目录吃空间。实际排障时,90% 的需求是“哪个文件夹最占地方”。
—— 按人眼可读格式倒序排列,第一行就是最大项
—— 只看前 10 大
注意:
包含隐藏目录(
、
都会列出来),比
更完整
如果想排除某些路径,用
,但注意它不支持通配符,得写全名
真正容易被忽略的点是:你执行
的位置,决定了统计起点;而是否加
,决定了能否看到全部内容。没权限时,它不会报错,只会静默跳过——你以为 5GB 的目录,可能只是你当前能看见的部分。
du -shdu -shdu/root/.cachedu-ldudu -shdu -sh **.bashrc.git.configdu -sh2.4G .du -sh *..env.DS_Storedu -sh .[!.]* *du -sh --max-depth=1--max-depth=1sortdu -shdu -sh --max-depth=1 | sort -hrdu -sh --max-depth=1 | sort -hr | head -n 10--max-depth=1.git.local*--exclude='.cache'du -shsudo