当前位置: 首页 > news >正文

du-磁盘占用管理

du-磁盘占用管理

在先前发现Git管理的项目特别大,在平时开发的时候可能提交了二进制文件,但是这部分文件无法进行diff处理变更进行版本控制。因此当这类文件不断删除新增,导致整个项目文件夹越来越大。

然后先前通过BGF处理了Git历史Blob文件,这个过程中发现Mac系统无法直接选中某些文件夹的硬盘总数占用,所以只能通过du命令来查看相关文件夹的大小。

du命令是Disk Usage的缩写,用于估算和显示文件系统中的文件和目录的磁盘使用情况。

语法

du [OPTION]... [FILE]...
du [OPTION]... --files0-from=F

参数

  • -a, --all: 对所有文件计数,包括目录。
  • --apparent-size: 打印表观大小,而不是磁盘使用量。虽然表观大小通常较小,但由于稀疏文件的孔洞、内部碎片和间接块,其可能更大。
  • -B, --block-size=SIZE: 在打印之前按SIZE缩放大小。例如,-BM1,048,576字节为单位打印大小。
  • -b, --bytes: 相当于 --apparent-size --block-size=1
  • -c, --total: 显示总计。
  • -D, --dereference-args: 只解除命令行中列出的符号链接的引用。
  • --files0-from=F: 汇总文件F中指定的以空字节终止的文件名的磁盘使用情况,如果F-,则从标准输入读取名字。
  • -H: 相当于 --dereference-args (-D)
  • -h, --human-readable: 以人类可读的格式打印大小,舍入数值并使用缩写。例如,1K234M2G等。
  • --si: 类似于 -h,但使用1000的幂,而不是1024
  • -k: 类似于 --block-size=1K
  • -l, --count-links: 多次计算大小(如果有硬链接)。
  • -m: 类似于 --block-size=1M
  • -L, --dereference: 引用所有符号链接。
  • -P, --no-dereference: 不追踪任何符号链接(这是默认设置)。
  • -0, --null: 用0字节而不是换行符结束每个输出行。
  • -S, --separate-dirs: 不包括子目录的大小。
  • -s, --summarize: 仅针对每个参数显示总计。
  • -x, --one-file-system: 跳过不同文件系统上的目录。
  • -X, --exclude-from=FILE: 排除与FILE中的任何模式匹配的文件。
  • --exclude=PATTERN: 排除与PATTERN匹配的文件。
  • -d, --max-depth=N: 仅在目录(或文件,带有--all时)位于命令行参数以下的N个或更少级别时才打印总计,--max-depth=0等同于--summarize
  • --time: 显示目录中任何文件或其子目录的最后修改时间。
  • --time=WORD: 按WORD而不是修改时间显示时间:atime, access, use, ctimestatus
  • --time-style=STYLE: 使用样式STYLE显示时间:full-iso, long-iso, iso,或+格式(FORMAT的解释类似于date的格式)。
  • --help: 显示帮助信息并退出。
  • --version: 输出版本信息并退出。

示例

显示当前目录及其子目录所占的磁盘空间。

du -h

仅显示某个特定目录的磁盘使用情况,默认会递归地显示目录使用情况。

du -h /home

递归地显示某个目录下每个文件和子目录所占的空间,并最终汇总显示总使用空间。

du -ah /home

显示当前目录下的一级子目录的空间使用情况。

du -h -d 1

显示当前目录的空间占用。

du -h -d 0

显示文件系统的磁盘空间使用情况disk free

df -h

显示当前目录下的所有文件和子目录的磁盘使用情况,并按照大小排序。

du -a -h -d 1 | sort -h -r

显示当前目录下的所有文件和子目录的磁盘使用情况,排除部分文件夹,并按照大小排序。

du -a -h -d 1 --exclude=.git --exclude=node_modules | sort -h -r
find . -maxdepth 1 \( -path ./.git -o -path ./node_modules \) -prune -o -exec du -sh {} + | sort -h -r # Mac

仅检查某个文件的大小。

du -h tsconfig.json

使用grep过滤查看某个文件的体积,这在符号连接中比较有用。

ls -l -h tsconfig.json
du -a -h -d 1 | grep tsconfig.json
find . -maxdepth 1 -print0 | xargs -0 du -sh | grep tsconfig.json # Mac

每日一题

  • https://github.com/WindrunnerMax/EveryDay

参考

  • https://www.computerhope.com/unix/udu.htm
  • https://linuxize.com/post/du-command-in-linux/
  • https://www.runoob.com/linux/linux-comm-du.html

相关文章:

  • 基于Python实现的缓存淘汰替换策略算法,该算法将缓存分区
  • MongoDB 架构设计:深入解析核心组件与工作原理
  • 二分搜索法、二分查找法【C/C ++】
  • 数据结构:最小生成树
  • FFmpeg源码:av_strlcpy函数分析
  • 探索 DeepSeek:AI 领域的璀璨新星
  • 深度学习实战道路裂缝缺陷识别
  • 计算四个锚点TOA定位中GDOP的详细步骤和MATLAB例程
  • PyTorch 源码学习:阅读经验 代码结构
  • Flink提交pyflink任务
  • pytest asyncio 支持插件 pytest-asyncio
  • 基于51单片机的的鸡笼补光和恒温系统的设计与实现(源程序+Protues仿真+电路图+元件清单+器件手册)
  • python opencv基础使用总结
  • 41.日常算法
  • 介绍两本学习智谱大模型的入门图书
  • Java小白入门基础知识(二)
  • 晶闸管主要参数分析与损耗计算
  • JavaScript 内置对象-日期对象
  • Ubuntu 系统 LVM 逻辑卷扩容教程
  • Hive之分区表
  • 国台办:相关优化离境退税政策适用于来大陆的台湾同胞
  • 事关广大农民利益,农村集体经济组织法5月1日起施行
  • 东风着陆场做好各项搜救准备,迎接神舟十九号航天员天外归来
  • 农行一季度净利润719亿元增2.2%,不良率微降至1.28%
  • 中国体育报关注徐梦桃、王曼昱、盛李豪等获评全国先进工作者:为建设体育强国再立新功
  • 苏州一季度GDP为6095.68亿元,同比增长6%