解決策 1:
GNU du
--block-size
を持っています オプション:
du -csh --block-size=1G .
sajbとして ブロック サイズの引数を省略すると、出力が自動的にスケーリングされます (単位が表示されます)。ブロック サイズの引数を使用すると、数値は表示されますが、単位は省略されます。
解決策 2:
便宜上、macOS のリファレンスを次に示します:
-h
「人間が読める」出力。単位のサフィックスを使用します:バイト、キロバイト、メガバイト、ギガバイト、テラバイト、ペタバイト。-k
ブロック数を 1024 バイト (1K バイト) のブロックで表示します。-m
ブロック数を 1,048,576 バイト (1M バイト) のブロック単位で表示します。-g
ブロック数を 1,073,741,824 バイト (1G バイト) のブロック単位で表示します。
1,234,567 KB
が与えられた場合に、さまざまなオプションがどのように機能するかを次に示します。 ファイル:
$ mkfile -n 1234567k file.txt
$ du file.txt
2469136 file.txt
$ du -k file.txt
1234568 file.txt
$ du -m file.txt
1206 file.txt
$ du -g file.txt
2 file.txt
$ du -h file.txt
1.2G file.txt
また、注目に値するのは、 BLOCKSIZE
を使用して暗黙的な動作を構成できることです。 環境変数:
BLOCKSIZE
環境変数 BLOCKSIZE
の場合 が設定され、-k
オプションが指定されていない場合、ブロック数はそのサイズのブロック単位で表示されます。 BLOCKSIZE
の場合 が設定されておらず、-k
オプションが指定されていない場合、ブロック数は 512
で表示されます -バイトブロック。