情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

「tail -f」を一時停止する方法

Linux (23)

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」)

コメント(0)

新しいコメントを投稿




  • カテゴリ ナビ
  • 著者紹介

    ブログが趣味で、 月間1,000万PV を達成しました。

    自分が困ったことをブログに書けば、次に困る人の参考になって、みんながみんな同じ苦労をせずに済む、というのが原点です。

    最近の関心は、スマホやパソコンに詳しくない人の行動や思考、 そしてそんな人を手助けする方法や枠組み。 また、それに関連するような、"身近な"セキュリティ。

    ※SNS(特にTwitter)でシェアされた記事は、内容の追加・更新を行っています。 必ず、ではありませんが、気に入った記事は積極的にシェアしてみてください。

    RSS | Facebook | Twitter | About