スポンサーリンク
tail -f でアクセスログなどを表示しているときに、流れが速いと「止めたい」と思うことがあります。その「止める」方法について紹介します。
スポンサーリンク
tail -f
「tail」コマンドの「-f」オプションは、ファイルの末尾に追記されるたびに、それを追加で表示(自動スクロール)してくれるオプションです。
たとえば、Webサーバのアクセスログを「tail -f」で表示すると、アクセスが来るたびにログが追加表示されていきます。
一時停止したい
ログを見ていて妙なログが表示されると、一時停止したくなることがあります。というのも、アクセスが来るたびにどんどん古い行が上へ流れてしまうからです。
一時停止する方法
じゃぁ「tail -f」を一時停止するにはどうすればよいのか、です。
今回は、「tail -f」ならではの方法ではなく、コンソールの描画更新自体を止めてしまう方法を紹介します。
やりかたは簡単で、一時停止したいと思ったときに「Ctrl+s」を押すだけです。すると、画面の更新が一時停止します。
内部でtail -fは動き続けていますが、コンソールそのものの描画更新は停止します。
自分はPuTTYを使っていますが、PuTTYの機能ではなく、Linux側(bash・zsh)の機能なので、幅広く使えるはずです。ただ、どんな環境でも使えるわけではないので注意。
再開する方法
描画の再開は「Ctrl+q」です。
screen / byobu で画面分割している場合は?
ただ、この方法だと、screenやbyobuを使って画面分割している場合は、画面全体が停止してしまい、停止しているtail -fを見ながらの作業はできません。
screen / byobu の場合は、tail -fコマンドを実行しているタブを選択した状態で、「(エスケープシーケンス)、s」でその分割領域だけを一時停止、「(エスケープシーケンス)、q」で再開ができます。
エスケープシーケンスはデフォルトでCtrl+aなので、初期設定の人の場合は一時停止が「Ctrl+a、s」、再開が「Ctrl+a、q」になります(「Ctrl+a、s」は、「Ctrl+aを押してからs」)。
スポンサーリンク
スポンサーリンク