次: , 前: Backup options, 上: Common options


2.3 ブロックサイズ

gnuプログラム(少なくとも,dfdu,そして ls)には,ファイルサイズを“ブロック”で表示するものもありま す.ファイルサイズをより読みやすくするため,ブロックサイズを調整するこ とが可能です.表示で使用するブロックサイズは,あらゆるファイルシステム のブロックサイズから独立しています.分数のブロック数は最も近い整数に切 り上げられます.

デフォルトのブロックサイズは,以下の環境変数を順番に調べることで選択さ れます.最初に設定されていたものでブロックサイズを決定します.

DF_BLOCK_SIZE
これは,dfコマンドに対するデフォルトのブロックサイズを指定し ます.同様に,DU_BLOCK_SIZEduに対するデフォルト,そ してLS_BLOCK_SIZElsに対するデフォルトを指定します.
BLOCK_SIZE
上記のコマンド指定の環境変数が設定されていない場合,これは,三つのコマ ンド全てに対するデフォルトのブロックサイズを指定します.
POSIXLY_CORRECT
command_BLOCK_SIZEBLOCK_SIZE変数も設定されておらず, この変数が設定されている場合,ブロックサイズのデフォルトは512になりま す.

上記の環境変数がどれも設定されていない場合,ほとんどの状況でブロックサ イズは現在のデフォルトの1024バイトですが,この数は将来変更されるかもし れません.lsのファイルサイズに対して,ブロックサイズのデフォ ルトは1バイトです.

ブロックサイズの指定は,ブロックごとのバイト数の指定で正の整数にしたり, 人間が可読な書式を選択してhuman-readablesiにしたりする ことが可能です.整数には,十進数の倍数となる SI prefixesの上 位互換の接尾子を続けたり, IEC 60027-2 prefixes for binary multiplesが続けてもかまいません.

人間が可読な書式を用いると,出力サイズにはメガバイトに対する`M'の ような大きさを示す文字が続きます.BLOCK_SIZE=human-readableは 1024乗を使用します.`M'は1,048,576バイトを意味します. BLOCK_SIZE=siは似ていますが,それは1000乗を使用し`B'が後置 されます.`MB'は1,000,000を意味します.

`''が前置されているブロックサイズの指定で,千単位で区切られた大き さを表示するようになります.LC_NUMERICロカールは,千の分離子とグ ループ分けを指定します.例えば,アメリカ英語のロカールでは, `--block-size="'1kB"'で1234000バイトの大きさを`1,234'と表示 するようになるでしょう.デフォルトのCロカールでは,千単位の区切りが無 いので,`''には効果がありません.

整数のブロックサイズは,そのサイズの倍数を指定する接尾子を続けることが 可能です.そのままの大きさを示す文字や`iB'が続くものは,1024倍を 指定します.`B'が続く大きさを示す文字は,代わりに1000倍を指定しま す.例えば,`1M'と`1MiB'は`1048576'と等価で,`1MB' は`1000000'と等価です.

前置する整数が無い普通のサフィックスでは,`1'が前置されているかの ように動作しますが,大きさを示す文字が出力に後置されます.例えば, `--block-size="kB"'は3000を`3kB'と表示します.

以下の大きさを示す文字が定義されています.1Yのような大きなサイ ズは,その計算の限界のためコンピュータに拒絶されるかもしれません.

`kB'
キロバイト:10^3 = 1000.
`k'
`K'
`KiB'
キビバイト:2^10 = 1024.`K'は特殊です.SIの接頭辞は `k' で,IEC 60027-2の接頭辞は`Ki'ですが,伝統的なものと POSIXでは,`k'を`KiB'の意味で使用します.
`MB'
メガバイト:10^6 = 1,000,000.
`M'
`MiB'
メビバイト:2^20 = 1,048,576.
`GB'
ギガバイト:10^9 = 1,000,000,000.
`G'
`GiB'
ギビバイト:2^30 = 1,073,741,824.
`TB'
テラバイト:10^12 = 1,000,000,000,000.
`T'
`TiB'
テビバイト:2^40 = 1,099,511,627,776.
`PB'
ペタバイト:10^15 = 1,000,000,000,000,000.
`P'
`PiB'
ペビバイト:2^50 = 1,125,899,906,842,624.
`EB'
エクサバイト:10^18 = 1,000,000,000,000,000,000.
`E'
`EiB'
エクシビバイト:2^60 = 1,152,921,504,606,846,976.
`ZB'
ゼータバイト:10^21 = 1,000,000,000,000,000,000,000.
`Z'
`ZiB'
2^70 = 1,180,591,620,717,411,303,424.(`Zi'はIEC 60027-2へ のGNUの拡張です.)
`YB'
ヨッタバイト:10^24 = 1,000,000,000,000,000,000,000,000.
`Y'
`YiB'
2^80 = 1,208,925,819,614,629,174,706,176.(`Yi'はIEC 60027-2へのGNUの拡張です.)

ブロックサイズのデフォルトは,--block-size=sizeオプショ ンを明示することで優先することが可能です.-kオプションは, --block-size=1kと等価で,それはPOSIXLY_CORRECT環境変数 が指定されていない場合のデフォルトです.-h--human-readableオプションは, --block-size=human-readableと等価です.--siオプショ ンは,--block-size=siと等価です.