Linuxとコマンドラインの基礎

GNU の find で「find /data -name "*.log" -mtime +7 -size +100M」を実行したときに見つかるファイルの説明として、正しいものはどれか。

  1. A名前が .log で終わり、最後の更新が8日以上前で、大きさが100 MiBを超えるファイル
  2. B名前が .log で終わり、最後の更新が7日以内で、大きさが100 MiBを超えるファイル
  3. C名前が .log で終わり、作成されたのが8日以上前で、大きさが100 MiBを超えるファイル
答えと解説を見る

正解:A. 名前が .log で終わり、最後の更新が8日以上前で、大きさが100 MiBを超えるファイル

-name "*.log" は名前が .log で終わるもの、-mtime は中身を最後に更新した時刻、-size +100M は大きさが100 MiBを超えるものを選びます。-mtime は経過時間を24時間単位で数えて端数を切り捨てた日数で比べるので、+7 は「7より大きい」、つまり8日(192時間)以上経ったものになり、7日と23時間しか経っていないファイルは選ばれません。7日以内に更新したものは -mtime -7 で選びます。*.log を引用符で囲むのは、シェルが先にカレントディレクトリのファイル名に展開してしまわないようにするためです。

  • A. 正しい。+7 は端数を切り捨てた日数が7より大きい、つまり8日以上を表します。
  • B. 7日以内に更新したファイルを選ぶのは -mtime -7 です。+ は「より大きい」、- は「より小さい」を表します。
  • C. -mtime は作られた時刻ではなく、中身を最後に更新した時刻で比べます。
この分野を解く 分野ページへ

Linuxとコマンドラインの基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

Linuxとコマンドラインの基礎のほかの問題

  1. 応答しなくなったプロセスを止めるとき、まず「kill プロセスID」を使い、それでも終わらないときだけ「kill -9 プロセスID」を使うのがよいとされる。その理由として、正しいものはどれか。
  2. 端末で時間のかかる ./sim.sh を実行している途中で、同じ端末でほかのコマンドを使いたくなった。Ctrl+Z を押した後に bg を実行したときの動作として、正しいものはどれか。
  3. SSH で接続したサーバで、時間のかかる処理を「./run.sh &」で起動してから接続を切ったところ、処理も止まってしまった。接続を切った後も処理を続けさせる起動のしかたとして、最も適切なものはどれか。
  4. 上の2行をシェルで実行したとき、表示される文字として、正しいものはどれか。
  5. 上のコマンドを順に実行したときの、2つの echo の出力として、正しいものはどれか。