less コマンドは、ファイルや標準入力の内容をスクロールしながら閲覧するためのページャです。
more コマンドの発展版のような位置づけで、上下スクロール・検索・行番号表示など、ログ閲覧に便利な機能が多数用意されています。
大きなログファイルや設定ファイルを一度に全部開くのではなく、
1画面ずつスクロールしながら確認できるため、サーバ運用ではほぼ必須と言ってよいコマンドです。
tail や grep と組み合わせて使われることも多いです。
less [オプション] ファイル名...コマンド | less
ファイル名を指定すると、その内容を less の画面で表示し、上下キーや PageUp/PageDown、/ 検索などで移動できます。
ファイル名を省略した場合や - を指定した場合は、標準入力から受け取った内容を表示します。
less の画面から抜けるときは、q キーを押します(quit のイメージ)。
画面内での移動・検索のキーバインドも合わせて覚えておくと、ログ調査がかなり楽になります。
・ログファイルの内容を less で閲覧する(基本)。
less /var/log/messages
/var/log/messages の内容をページャで表示します。
↑/↓ や PageUp/PageDown で移動し、q で終了します。
画面内で /error と入力すると error を前方検索、n で次の一致へ移動できます。
・行番号を表示しながらファイルを閲覧する。
less -N /etc/httpd/conf/httpd.conf
-N(–LINE-NUMBERS)は、画面左側に行番号を表示します。
設定ファイルの特定の行番号を指示されたときや、エラーメッセージに行番号が出ているときに便利です。
・長い行を折り返さずに表示する(横スクロール)。
less -S /var/log/httpd/access_log
-S(–chop-long-lines)は、画面幅を超える長い行を折り返さずに途中で切るオプションです。
横に長いログを読むとき、折り返しで見づらい場合に有効です。
表示しきれない部分は、→/← で横スクロールできます。
・grep した結果を less でページングしながら確認する。
grep error /var/log/messages | less
grep など他のコマンドの出力をそのまま less に流すパターンです。
出力が多いときでも、ページングしながらゆっくり確認できます。
さらに less 内で n キーを使えば、検索結果内を次々と確認できます。
・tail -f のようにログを追いかけながら閲覧する。
less +F /var/log/messages
+F を付けると、ファイルの末尾を表示しながら追従するモード(tail -f のような動作)になります。
リアルタイムにログが増えていく様子を確認したいときに便利です。
追従モードを止めるには Ctrl+C、その後は通常の less と同じように上下スクロールできます。
・ファイルの中の特定の行番号から表示を開始する。
less +100 /var/log/messages
+行番号 を指定すると、その行番号から表示を開始します。
先に別コマンドで行番号を調べてから、その近辺だけを less で読みたい場合に役立ちます。
・ファイルを開いた直後に、最初の一致箇所へジャンプする。
less -p error /var/log/messages
-p パターン を指定すると、「最初に error が出現する位置」から表示を開始します。
ログの先頭ではなく、いきなりエラーが出ている位置から確認したいときに便利です。
・色付きログを色付きのまま less で表示する。
journalctl -xe | less -R
-R(–RAW-CONTROL-CHARS)は、カラーエスケープなどの制御文字をある程度そのまま解釈して表示します。
色付きのログを less 経由で見たいときに有効です(環境によって見え方が変わることがあります)。
・終了時に画面をクリアせず、表示内容をシェルに残す。
less -X /var/log/messages
-X は less 終了時に画面をクリアしないオプションです。
less を抜けたあとも、最後に表示していた内容をターミナルに残しておきたい場合に使います。
ターミナルの種類によっては挙動が異なる場合があります。
・ログの調査・監視
Web サーバやアプリケーションのログを less で開き、
/error や /WARN などで検索しながら調査するのは日常的な使い方です。
tail -f では追いかけるのが大変な長いログも、less なら前後を行ったり来たりしながら読み進められます。
・設定ファイルの閲覧
/etc 配下の設定ファイルを編集する前に、まず less で全体の構成やコメントを確認する、という使い方も多いです。
-N で行番号を出しておくと、「○行目の設定を変更してください」といった指示にも対応しやすくなります。
・他コマンドの出力の「プレビュー」
ps aux や journalctl、kubectl logs のように出力量が多いコマンドは、
いきなり画面に流すのではなく | less でページングして確認するのが定番です。
・tail と組み合わせたログ監視
リアルタイム監視には tail -f を使いつつ、過去のログをさかのぼって読むときは less を使うなど、
用途に応じて使い分けることが多いです。less の +F で tail -f 的に使うパターンもあります。
less は「見る専用」のコマンドなので、内容を書き換えることはできません。
編集したい場合は vi / vim / nano などのエディタを使い、less はあくまで閲覧・調査に特化して使い分けると整理しやすくなります。
| short option | long option | description |
|---|---|---|
| -N | --LINE-NUMBERS | 画面左側に行番号を表示する |
| -S | --chop-long-lines | 行の折り返しを行わず画面幅を超える部分を切り捨てて表示する(横スクロールで参照可能) |
| -i | --ignore-case | 検索で大文字小文字を区別しない(検索パターンに大文字が含まれる場合は区別する) |
| -I | --IGNORE-CASE | 検索で常に大文字小文字を区別しない |
| -F | --quit-if-one-screen | ファイル全体が 1 画面に収まる場合はすぐに終了する |
| -R | --RAW-CONTROL-CHARS | 一部の制御文字をそのまま解釈して表示する(色付きログなどをそのまま表示) |
| -r | --raw-control-chars | 制御文字をすべてそのまま表示する(端末によっては表示が崩れることがある) |
| -X | --no-init | 終了時に画面をクリアせず表示内容を残す |
| -p | --pattern | 指定したパターンが最初に出現する位置から表示を開始する |
| -m | --long-prompt | 表示されるプロンプトにファイル名や行数などの詳細情報を含める |
| -M | --LONG-PROMPT | より詳細な長い形式のプロンプトを表示する |
| -f | --force | 通常は開かない特殊ファイルやデバイスファイルも強制的に開く |
| -q | --quiet | ベル(ビープ音)や一部の警告表示を抑制する |
| -Q | --QUIET | すべてのベルを抑制する |
| -h | --help | less コマンドの使い方(ヘルプ)を表示して終了する |
| -V | --version | less コマンドのバージョン情報を表示して終了する |
ここでは、Linux 環境で一般的に利用される less コマンドの主なオプションを TablePress の表でまとめている想定です。
行番号表示・行折り返し・検索・色付きログへの対応など、よく使うものだけに絞っています。
詳細なオプションやバージョンによる違いは、実行環境の man less もあわせて確認してください。
新着情報
ブログランキングに参加しています。クリックして応援していただけると嬉しいです。
