主页 > 其他  > 

du-磁盘占用管理

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缩放大小。例如,-BM以1,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: 以人类可读的格式打印大小,舍入数值并使用缩写。例如,1K,234M,2G等。--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, ctime或status。--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 每日一题 github /WindrunnerMax/EveryDay 参考 puterhope /unix/udu.htm linuxize /post/du-command-in-linux/ .runoob /linux/linux-comm-du.html
标签:

du-磁盘占用管理由讯客互联其他栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“du-磁盘占用管理