1.02.2標準
/home/shared以下の通常ファイルから、更新後の経過日数が7日未満のものを検索する。
GNU findの日単位判定を使用する。
適切な条件はどれか。
× 不正解
-mtimeは内容更新時刻からの日数を扱い、-7は経過日数が7未満の対象を選ぶ。
詳細解説
誤り
find /home/shared -type f -mtime +77日より古い側のファイルを選ぶ。
誤り。+7はより古い側を選ぶため、直近7日という条件と逆になる。
正しい
find /home/shared -type f -mtime -7更新からの経過日数が7より小さい対象を選ぶ。
正しい。-mtimeで内容更新時刻を使い、-7で経過日数が7未満の対象を選ぶ。
誤り
find /home/shared -type f -atime -7最終アクセス時刻を調べ、内容の最終更新時刻ではない。
誤り。-atimeは読み取りなどのアクセス時刻で、内容を最後に更新した時刻ではない。
誤り
find /home/shared -type f -size -7時刻ではなく既定の512バイトブロック単位のサイズ条件になる。
誤り。-sizeは容量を比較するテストであり、日数の条件を表さない。
実際に確かめる
一時的な検証環境で実行できる例です。
tmp=$(mktemp -d); touch "$tmp/recent"; touch -d '10 days ago' "$tmp/old"; find "$tmp" -type f -mtime -7 -printf '%f\n'; rm -rf "$tmp"期待される結果
recent理解のポイント
- -mtimeは更新時刻
- -7は7未満
- +7は7より大きい
確認時の注意
- 確認環境: GNU findutils 4.x / GNU touch / 一時ファイル
基礎のおさらい
日数の切り捨て
GNU findの日単位テストは24時間単位の経過数を切り捨てて扱う。
分単位テスト
より細かな境界が必要なら-mminなどの分単位テストを検討する。
問題IDKL-101-403
確認環境GNU findutils 4.x / GNU touch / 一時ファイル
最終技術確認2026-08-13
誤り・権利侵害を報告