FreeBSD:如何知道在zfs上压缩的真实文件大小?

我在我的FreeBSD 9.0 x64上使用了zfs,并且非常满意,但是我觉得很难将目录计算在内,而不是压缩的大小。

当然,我可以走过目录,并用ls来计算每个文件的大小,但是为了达到这个目的,我希望有一些额外的密钥。

那么, 我怎样才能告诉目录的大小放置在zfs与压缩

Thamk你提前的意见,我简单不能记住有没有这样一个'简单'的方式,没有'find./ -type d -exec ls -l'{}'\; | awk …'!

使用du与其-A标志:

 root@pg78:/usr/local/pgsql/data/base/218204 # du -A -h 221350.219 1.0G 221350.219 root@pg78:/usr/local/pgsql/data/base/218204 # du -h 221350.219 501M 221350.219 

非常方便。 它甚至适用于-drecursion善良:

 root@pg78:/usr/local/pgsql/data/base # du -h -c -d0 . 387G . 387G total root@pg78:/usr/local/pgsql/data/base # du -A -h -c -d0 . 518G . 518G total 

你可以安装du(1)的GNU版本:

cd /usr/ports/sysutils/coreutils && make install clean

那么你可以使用--apparent-size标志:

 /space# zfs create space/comptest /space# zfs set compression=on space/comptest /space# dd if=/dev/zero of=/space/comptest/zerofile bs=1M count=40 /space/comptest# gdu 2K . /space/comptest# gdu --apparent-size 40961K .