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

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

Linuxでファイルの内容を確認する場面は日常的にありますが、catコマンドで大きなファイルを開くと、画面が一瞬で流れてしまい、肝心な部分を見逃してしまいます。

この記事では、lessコマンドの基本操作から、検索・行番号表示・パイプとの組み合わせまで、現場で必須の使い方をまとめて解説します。
lessを使いこなせるようになると、ログ調査やファイル確認の効率が大幅に上がりますので、ぜひ最後まで読んでみてください。
【この記事でわかること】
・lessコマンドで大きなログファイルも軽快にスクロール閲覧できる
・/ や ? による双方向検索、+F によるリアルタイム監視も使える
・cat・more との違いを理解すれば現場のログ調査が一気に速くなる

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

なぜlessコマンドが必要なのか? cat・moreとの違い

Linuxには、ファイルの中身を表示するコマンドがいくつかありますが、それぞれ得意な場面が異なります。

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で再び監視モードに戻れます。この「監視と検索の切り替え」が現場では非常に重宝します。

実務で使える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:前のファイルに切り替える

関連する複数のログを同時に確認したいときに便利です。

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キーを押せば終了できます。

本記事のまとめ

やりたいこと コマンド/操作
ファイルを閲覧する less ファイル名
行番号付きで閲覧する less -N ファイル名
折り返しなしで閲覧する less -S ファイル名
大文字小文字を区別せず検索する less -i ファイル名
リアルタイムでログ監視する less +F ファイル名
下方向に文字列を検索する /検索文字列(less内で入力)
上方向に文字列を検索する ?検索文字列(less内で入力)
1画面下にスクロールする Spaceキー(less内で入力)
1画面上にスクロールする bキー(less内で入力)
コマンド出力をlessで閲覧する コマンド | less
lessを終了する qキー

ログ調査のスピードを根本から上げたい方へ

lessを使いこなせるようになると、障害対応の初動スピードが段違いに変わります。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

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

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

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

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

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

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

登録10秒/合わなければ解除3秒 / 詳細はこちら

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

この記事を書いた人

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

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

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