「moreコマンドだと前に戻れなくて不便」
Linuxでファイルの内容を確認する場面は日常的にありますが、catコマンドで大きなファイルを開くと、画面が一瞬で流れてしまい、肝心な部分を見逃してしまいます。数百メガバイトのログファイルをcatで開いた瞬間、ターミナルが固まって何もできなくなった、という経験がある方も多いのではないでしょうか。
この記事では、lessコマンドの基本操作から、検索・行番号表示・パイプとの組み合わせまで、現場で必須の使い方をまとめて解説します。lessを使いこなせるようになると、ログ調査やファイル確認の効率が大幅に上がりますので、ぜひ最後まで読んでみてください。
この記事のポイント
・lessで数GBの大容量ログも即座にページ送り閲覧できる
・/ や ? で双方向検索、+F でリアルタイム監視も使える
・grep | less でログを絞り込んで最短で確認できる
・cat・more との違いがわかると現場ログ調査が一気に速くなる
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
なぜlessコマンドが必要なのか? cat・moreとの違い
Linuxには、ファイルの中身を表示するコマンドがいくつかありますが、それぞれ得意な場面が異なります。・cat:ファイルの内容を一気に全部表示する。短いファイルには便利だが、長いファイルだと画面が流れて読めない。数百メガバイトのログをcatで開くと出力が終わるまで操作を受け付けなくなり、ターミナルが固まってしまうことがある
・more:1画面ずつ表示できるが、前に戻る操作ができない
・less:1画面ずつ表示でき、前後にスクロール自由。検索機能も内蔵。ファイル全体をメモリに読み込まないため、数ギガバイトの大きなファイルでも即座に開ける
lessは「less is more(lessはmoreより高機能)」という名前の由来の通り、moreコマンドの上位互換です。サーバー管理の現場では、ログファイルの確認にlessを使うのが事実上の標準になっています。
lessコマンドの基本的な使い方
1. ファイルを開く
lessコマンドの基本構文はシンプルです。# lessコマンドでファイルを開く less ファイル名
# /var/log/messagesを閲覧する less /var/log/messages
2. 閲覧を終了する(qキー)
lessを終了するには、qキーを押してください。これだけは最初に覚えておきましょう。lessを初めて使った人が「画面から抜けられない」と焦るのはよくある話です。
less内のキーボード操作一覧
lessの画面内では、以下のキー操作でファイルの中を自由に移動できます。1. スクロール操作
・Spaceキー(またはfキー):1画面分、下にスクロール(次のページへ進む)・bキー:1画面分、上にスクロール(前のページへ戻る)
・jキー(または↓キー):1行下にスクロール
・kキー(または↑キー):1行上にスクロール
・dキー:半画面分、下にスクロール
・uキー:半画面分、上にスクロール
2. ファイルの先頭・末尾に移動する
・gキー:ファイルの先頭に移動・Gキー(Shift + g):ファイルの末尾に移動
大きなログファイルの最新のエントリ(末尾)を確認したいときは、Gキーで一気にジャンプできます。
3. 文字列を検索する
lessの中で最も使う機能が検索です。・/検索文字列:下方向に検索する(Enter で実行)
・?検索文字列:上方向に検索する(Enter で実行)
・nキー:同じ方向に次の検索結果へ移動
・Nキー(Shift + n):逆方向に前の検索結果へ移動
たとえば、ログファイルの中から「error」という文字列を探すなら、lessで開いた状態で次のように入力します。
# less内で下方向に「error」を検索 /error
よく使うオプション
1. -N(行番号を表示する)
ファイルの各行に行番号を付けて表示します。設定ファイルの確認やエラー箇所の特定に便利です。# 行番号付きでファイルを表示する less -N /etc/httpd/conf/httpd.conf
2. -S(行の折り返しを無効にする)
長い行が画面幅で折り返されず、横方向にスクロールできるようになります。CSV(カンマ区切りデータ)やログの中に1行が非常に長いレコードがある場合に重宝します。# 長い行を折り返さずに表示する less -S /var/log/httpd/access_log
3. -i(検索で大文字小文字を区別しない)
検索文字列をすべて小文字で入力した場合に、大文字小文字を区別しなくなります。「Error」「ERROR」「error」をまとめて検索したいときに便利です。
# 大文字小文字を区別せずに閲覧する less -i /var/log/messages
4. -F(1画面に収まるなら即終了する)
ファイルの内容が1画面に収まる場合、lessを起動せずにそのまま内容を表示して終了します。短いファイルはcatのように、長いファイルはlessとして動作するので、シェルスクリプトやエイリアスに設定しておくと便利です。
# 短いファイルなら即表示して終了する less -F /etc/hostname
5. +F(tail -fのようにリアルタイム監視する)
ファイルの末尾を表示し、追記される内容をリアルタイムで追いかけます。tail -f と似た動作ですが、Ctrl + cを押すと通常のlessモードに戻り、検索やスクロールができるのが大きな利点です。# ログをリアルタイムで監視する(less版) less +F /var/log/messages
6. -R(ANSIカラーコードを正しく表示する)
アプリケーションのログなどにカラーコード(ANSIエスケープシーケンス)が含まれると、lessで^[[32m のような制御文字がそのまま表示されることがあります。-R オプションを付けると、カラーコードを解釈して意図した通りの色付き表示になります。
# ANSIカラーコードを正しく解釈して表示する less -R /var/log/application.log
実務で使えるTips:パイプとの組み合わせ
lessはファイルだけでなく、他のコマンドの出力をパイプ(|)で受け取って閲覧することもできます。1. dmesgの出力を閲覧する
dmesg(カーネルのメッセージバッファ)は出力が長いので、lessで受け取ると快適に読めます。# dmesgの出力をlessで閲覧する dmesg | less
2. psの出力を閲覧する
プロセス一覧も、サーバーによっては数百行になることがあります。# プロセス一覧をlessで閲覧する ps aux | less
3. 複数ファイルを同時に開く
lessは複数のファイルを指定して開くこともできます。# 複数ファイルを同時に開く less /var/log/messages /var/log/secure
・:n:次のファイルに切り替える
・:p:前のファイルに切り替える
関連する複数のログを同時に確認したいときに便利です。
4. grepで絞り込んでからlessで確認する
数万行にわたるログから特定のキーワードを含む行だけを確認したい場合、grepで絞り込んでからlessに渡す方法が便利です。# エラーログだけを絞り込んでlessで確認する grep -i "error" /var/log/messages | less # SSH認証ログから失敗だけを確認する grep -i "failed" /var/log/secure | less # 日付で絞り込んでからlessで確認する grep "Sep 9" /var/log/messages | grep -i "fail" | less
less・more・cat の使い分け
どのコマンドを使うべきか迷った場合の判断基準をまとめます。| コマンド | 適した場面 | 弱点 |
|---|---|---|
| cat | 数行~数十行の短いファイル。パイプで別コマンドに渡す場合 | 長いファイルは画面が流れて読めない。大容量ファイルでは操作不能になることがある |
| more | 前方スクロールだけで十分な場合 | 後方スクロールができない。検索機能が限定的 |
| less | 長いファイルの閲覧全般。ログ調査。検索が必要な場面 | 特になし(catのように標準出力への出力は苦手) |
トラブルシュート:lessで困った時の対処法
1. 「may be a binary file」と表示される
lessでバイナリファイル(実行ファイルや画像など)を開こうとすると、次のようなメッセージが表示されます。# バイナリファイルを開いた場合の警告 "ファイル名" may be a binary file. See it anyway?
バイナリファイルの中身を確認したい場合は、lessではなくxxd(16進数ダンプ)やfileコマンドを使ってください。
# ファイルの種類を確認する file /usr/bin/ls # バイナリの内容を16進数で表示する xxd /usr/bin/ls | less
2. 日本語が文字化けする
lessで日本語のファイルを開いた際に文字化けする場合、ファイルの文字コードとターミナルの文字コードが一致していない可能性があります。まず、ファイルの文字コードを確認しましょう。
# ファイルの文字コードを確認する file -i ファイル名
# Shift_JISのファイルをUTF-8に変換してlessで閲覧する iconv -f SHIFT_JIS -t UTF-8 ファイル名 | less
3. lessから抜けられなくなった
lessの操作に慣れていないうちに、画面が動かなくなったように感じることがあります。よくある原因は以下の通りです。・Ctrl + sを押してしまった:端末の出力が一時停止する。Ctrl + qで解除できる
・+Fモード(監視モード)にいる:Ctrl + cで通常モードに戻れる
・検索の入力待ちになっている:Escキーを押してからqキーで終了できる
いずれの場合も、落ち着いてqキーを押せば終了できます。
4. catでログが流れて操作できなくなった
catで大容量ファイルを開いてしまい、ターミナルが流れ続けて操作を受け付けなくなった場合、Ctrl + Z(プロセスの一時停止)を試してみてください。Ctrl + Zでフォアグラウンドプロセスを一時停止すると、ターミナルの制御を取り戻せます。その後、jobsコマンドで停止中のプロセスを確認し、killで終了します。
# Ctrl+Z でcatを一時停止([1]+ Stopped と表示される) # 停止中のプロセスを確認する jobs [1]+ Stopped cat /var/log/httpd/access_log # ジョブ番号1を強制終了する kill %1 [1]+ Terminated cat /var/log/httpd/access_log
5. 圧縮されたログファイルを開こうとするとバイナリ警告が出る
logrotate(ログローテーション)で圧縮された過去のログファイル(.gz形式)をlessで開こうとすると、「may be a binary file」という警告が表示されます。この場合はzlessコマンドを使ってください。# 圧縮ログファイルをlessで確認する zless /var/log/messages-20260901.gz # または zcat で展開してlessに渡す zcat /var/log/messages-20260901.gz | less
本記事のまとめ
| やりたいこと | コマンド/操作 |
|---|---|
| ファイルを閲覧する | less ファイル名 |
| 行番号付きで閲覧する | less -N ファイル名 |
| 折り返しなしで閲覧する | less -S ファイル名 |
| 大文字小文字を区別せず検索する | less -i ファイル名 |
| リアルタイムでログ監視する | less +F ファイル名 |
| ANSIカラーコードを正しく表示する | less -R ファイル名 |
| grepで絞り込んでページ確認する | grep -i キーワード /var/log/messages | less |
| 圧縮ログを確認する | zless /var/log/messages-20260901.gz |
| 下方向に文字列を検索する | /検索文字列(less内で入力) |
| 上方向に文字列を検索する | ?検索文字列(less内で入力) |
| 1画面下にスクロールする | Spaceキー(less内で入力) |
| 1画面上にスクロールする | bキー(less内で入力) |
| コマンド出力をlessで閲覧する | コマンド | less |
| catが止まった時の緊急停止 | Ctrl+Z → jobs → kill %1 |
| lessを終了する | qキー |
ログ調査のスピードを根本から上げたい方へ
lessを使いこなせるようになると、障害対応の初動スピードが段違いに変わります。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら
- 次のページへ:headコマンドでファイルの先頭を表示する方法|行数指定やパイプ活用も
- 前のページへ:catコマンドでファイル内容を表示する方法|結合やリダイレクトの使い方も
- この記事の属するカテゴリ:Linuxコマンド・LinuxコマンドK-O・テキスト処理コマンドへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。
登録無料・いつでも解除できます