LinuCレベル1 ファイル・ディレクトリの操作と管理 問29
ファイル・ディレクトリの操作と管理/ファイルの配置と検索/home 以下で、サイズが100MiBを超える通常ファイルを探したい。findコマンドとして適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル1の出題範囲「ファイル・ディレクトリの操作と管理」に対応。実際の試験問題ではありません)
- Afind /home -type f -size +100M
- Bfind /home -type f -size 100M
- Cfind /home -type f -size -100M
- Dfind /home -type f -mtime +100
正解:A
解説
find の -size は、数値の前に + を付けると「より大きい」、- を付けると「より小さい」、何も付けないと「ちょうど」の意味になります。単位は M(MiB)、k(KiB)、G(GiB)などで指定し、比較の前にサイズがその単位に切り上げられます。-type f で通常ファイルに限定できます。-mtime は更新日時(日数)での条件で、サイズとは関係ありません。
選択肢ごとの解説
- A正しい。-size +100M で、100MiBより大きい(切り上げた値が100を超える)ファイルを探します。
- B誤り。符号の無い -size 100M は、MiB単位に切り上げたサイズがちょうど100のファイルだけに一致します。
- C誤り。-size -100M は、MiB単位に切り上げた値が100未満、つまり99MiB以下の小さいファイルを探す指定です。
- D誤り。-mtime +100 は最終更新が100日より前のファイルを探す指定で、サイズの条件ではありません。