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

サーバのログファイル /var/log/app.log に後から追記される行を、追記されるたびに画面に表示し続けたい。適切なコマンドはどれか。

  1. Atail -f /var/log/app.log
  2. Bhead -n 10 /var/log/app.log
  3. Ccat /var/log/app.log
答えと解説を見る

正解:A. tail -f /var/log/app.log

tail はファイルの末尾の行(既定では10行)を表示するコマンドで、-f(follow)を付けると、表示した後も終了せずにファイルを見張り、追記された行をそのつど表示します。シミュレーションやジョブの進み具合をログで追うときによく使い、止めるときは Ctrl+C を押します。ログがローテーションで別の名前に変わる場合は、同じ名前の新しいファイルを追い続ける tail -F が便利です。head は先頭の行、cat は全体を1回だけ表示して終わります。

  • A. 正しい。-f で、追記される行を表示し続けます。
  • B. head -n 10 は先頭の10行を1回表示するだけで、追記は表示しません。
  • C. cat はその時点の中身を1回表示して終わり、後からの追記は表示しません。
この分野を解く 分野ページへ

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

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

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

  1. カンマ区切りの行から列を取り出す上のコマンドの出力として、正しいものはどれか。
  2. 文字を置き換える上の sed のコマンドの出力として、正しいものはどれか。
  3. 上の操作で、最後の awk が出力する内容として、正しいものはどれか。
  4. GNU の find で「find /data -name "*.log" -mtime +7 -size +100M」を実行したときに見つかるファイルの説明として、正しいものはどれか。
  5. 応答しなくなったプロセスを止めるとき、まず「kill プロセスID」を使い、それでも終わらないときだけ「kill -9 プロセスID」を使うのがよいとされる。その理由として、正しいものはどれか。