lessコマンドでファイルを閲覧する方法|検索やスクロール操作もコマンド

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxコマンド, LinuxコマンドK-O, テキスト処理コマンド > lessコマンドでファイルを閲覧する方法|検索やスクロール操作もコマンド
「ログファイルの中身を確認したいけど、catだと一瞬で流れてしまって読めない」
「moreコマンドだと前に戻れなくて不便」

Linuxでファイルの内容を確認する場面は日常的にありますが、catコマンドで大きなファイルを開くと、画面が一瞬で流れてしまい、肝心な部分を見逃してしまいます。数百メガバイトのログファイルをcatで開いた瞬間、ターミナルが固まって何もできなくなった、という経験がある方も多いのではないでしょうか。

この記事では、lessコマンドの基本操作から、検索・行番号表示・パイプとの組み合わせまで、現場で必須の使い方をまとめて解説します。lessを使いこなせるようになると、ログ調査やファイル確認の効率が大幅に上がりますので、ぜひ最後まで読んでみてください。

この記事のポイント

・lessで数GBの大容量ログも即座にページ送り閲覧できる
・/ や ? で双方向検索、+F でリアルタイム監視も使える
・grep | less でログを絞り込んで最短で確認できる
・cat・more との違いがわかると現場ログ調査が一気に速くなる


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

なぜ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

ヒットした箇所がハイライト表示されます。nキーで次の該当箇所、Nキーで前の該当箇所に移動できるので、grepで行番号を調べてから再度開き直す、といった手間が省けます。

よく使うオプション

1. -N(行番号を表示する)

ファイルの各行に行番号を付けて表示します。設定ファイルの確認やエラー箇所の特定に便利です。

# 行番号付きでファイルを表示する less -N /etc/httpd/conf/httpd.conf

なお、lessで開いた後からでも、-Nと入力してEnterを押すと行番号の表示・非表示を切り替えられます。

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

tail -fだとリアルタイム監視を中断して過去のログを検索するには、別のターミナルを開く必要があります。less +Fなら、Ctrl + cで通常モードに切り替えて検索し、Shift + fで再び監視モードに戻れます。この「監視と検索の切り替え」が現場では非常に重宝します。

6. -R(ANSIカラーコードを正しく表示する)

アプリケーションのログなどにカラーコード(ANSIエスケープシーケンス)が含まれると、lessで ^[[32m のような制御文字がそのまま表示されることがあります。-R オプションを付けると、カラーコードを解釈して意図した通りの色付き表示になります。

# ANSIカラーコードを正しく解釈して表示する less -R /var/log/application.log

Dockerコンテナのログやアプリケーションログで遭遇することが多いので、lessで表示が崩れると感じたらまず -R を試してみてください。

実務で使える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単体の / 検索と違い、grepで絞り込んでから渡すと表示する行数が大幅に減るため、目的の情報に最短でたどり着けます。数万行のログから数十行のエラーだけを抽出してページ送りで確認する、という使い方が現場では定番です。

less・more・cat の使い分け

どのコマンドを使うべきか迷った場合の判断基準をまとめます。

コマンド 適した場面 弱点
cat 数行~数十行の短いファイル。パイプで別コマンドに渡す場合 長いファイルは画面が流れて読めない。大容量ファイルでは操作不能になることがある
more 前方スクロールだけで十分な場合 後方スクロールができない。検索機能が限定的
less 長いファイルの閲覧全般。ログ調査。検索が必要な場面 特になし(catのように標準出力への出力は苦手)
結論として、ファイルの中身を「読む」目的なら、迷わずlessを使ってください。catは短いファイルの確認やパイプの入力用、と使い分けるのが現場の鉄則です。

トラブルシュート:lessで困った時の対処法

1. 「may be a binary file」と表示される

lessでバイナリファイル(実行ファイルや画像など)を開こうとすると、次のようなメッセージが表示されます。

# バイナリファイルを開いた場合の警告 "ファイル名" may be a binary file. See it anyway?

ここでyを押すと表示されますが、画面が文字化けして制御コードだらけになります。
バイナリファイルの中身を確認したい場合は、lessではなくxxd(16進数ダンプ)やfileコマンドを使ってください。

# ファイルの種類を確認する file /usr/bin/ls # バイナリの内容を16進数で表示する xxd /usr/bin/ls | less

2. 日本語が文字化けする

lessで日本語のファイルを開いた際に文字化けする場合、ファイルの文字コードとターミナルの文字コードが一致していない可能性があります。

まず、ファイルの文字コードを確認しましょう。

# ファイルの文字コードを確認する file -i ファイル名

ターミナルの文字コードがUTF-8なのにファイルがShift_JISやEUC-JPの場合、iconvコマンドで変換してからlessに渡す方法があります。

# 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

Ctrl + Cが効かない時は、Ctrl + Zでいったん制御を取り戻してからkillで後処理する、という手順を覚えておくと焦らずに対処できます。

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

zless(またはzcat | 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日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として20年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。