Unix 相当于“du -sb”,用于获取以字节为单位的汇总大小

Unix 相当于“du -sb”,用于获取以字节为单位的汇总大小

在 Linux 上,使用 GNUdu以字节为单位递归计算目录大小,我可以运行:

du -sb /etc

du基于-b参数不可用这一事实,BSD 的等效语法是什么?

答案1

我的第一个想法...

find $HOME | xargs stat -f%z | awk '{ s+=$1 } END { print s }'

...爬行$HOME,从中获取文件大小(以字节为单位)stat并使用 求和awk

在 NetBSD7 上测试。

答案2

默认情况下,在 BSD 中,du块计数将以 512 字节块显示,因此该值可以相乘。这是 bash 中的示例:

echo $(($(du -s /etc | cut -f1) * 512))

可以使用 更改块大小BLOCKSIZE,但最小块大小为 512。更改后的情况如下:

echo $(($(BLOCKSIZE=1024 du -s /etc | cut -f1) * 1024))

相关内容