Linuxでは、GNUを使用してディレクトリdu
サイズ(バイト単位)を繰り返し計算します。以下を実行できます。
du -sb /etc
du
パラメータが利用できないという事実に基づいて、-b
BSDに対応する構文は何ですか?
答え1
最初の考えは…
find $HOME | xargs stat -f%z | awk '{ s+=$1 } END { print s }'
...crawl $HOME
、ファイルサイズ(バイト単位)を取得し、stat
sumを使用します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))