回答:
GNU du
には--block-size
オプションがあります:
du -csh --block-size=1G .
sajbに述べたように、ブロックサイズ引数を省略すると、自動的に出力をスケーリング(および単位を表示)されます。ブロックサイズの引数を使用すると、数値は表示されますが、単位は省略されます。
-h
ません。これはサポートされているオプションであり、出力が「人間が読める」形式になります(つまり、単位のサフィックスが付き、スケーリングされます)。ただし、--block-size
使用された場合は無視されるのは事実です。これは私の答えに記載されています。
便宜上、macOSのリファレンスを次に示します。
-h
「人間が読める」出力。単位のサフィックスを使用してください:バイト、キロバイト、メガバイト、ギガバイト、テラバイト、ペタバイト。-k
ブロック数を1024バイト(1Kバイト)ブロックで表示します。-m
ブロックカウントを1,048,576バイト(1Mバイト)ブロックで表示します。-g
ブロック数を1,073,741,824バイト(1ギガバイト)ブロックで表示します。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
-byteブロック。