ファイルが使用する容量を単位ごとに切り上げた結果が、n単位になる場合に真になります。既定の単位は512バイトのブロックですが、nに1文字の接尾辞を付けて変更できます。
b512バイトのブロック。1024バイトにはなりません。
cバイト
w2バイトのワード
kキビバイト。KiB、1024バイト単位。
Mメビバイト。MiB、1024 × 1024 = 1048576バイト単位。
Gギビバイト。GiB、1024 × 1024 × 1024 = 1073741824バイト単位。
接尾辞「b」では、常に1ブロックを512バイトとして扱います。環境変数POSIXLY_CORRECTの設定の有無や値には影響されません。この動作は「-ls」アクションと異なります。1024バイト単位を使いたい場合は、代わりに接尾辞「k」を使ってください。
数値には「+」または「-」を前置できます。プラス記号は、ファイルが少なくともn単位の記憶領域を使う場合にテストが成功することを示します。これはよく使われる指定です。マイナス記号は、ファイルがn単位未満の記憶領域を使う場合に成功することを示します。つまり、ちょうどn単位のサイズには一致しません。「=」の接頭辞はありません。等しい値に一致するのが既定だからです。
| 重要 |
|---|
|
サイズは次の単位へ切り上げられることに注意してください。そのため、「-size -1M」は「-size -1048576c」と同等ではありません。前者は空のファイルだけに一致し、後者は0〜1,048,575バイトのファイルに一致します。 |
サイズは、lstatまたはstatシステムコールが設定するstruct statのst_sizeメンバーを、上記のように切り上げたものです。つまり、「ls -l」の結果と整合します。このスパースファイルの扱いは、「-printf」述語の書式指定子「%k」「%b」が出力するものとは異なります。
ファイルが空で、通常のファイルまたはディレクトリである場合に真になります。削除候補を判断するのに役立つ場合があります。「-depth」(ディレクトリを参照)や「-delete」(単一のファイルを参照)と組み合わせると便利です。