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


図解60p「Linuxサーバー構築入門マニュアル」無料
登録10秒/自動返信でDL/合わなければ解除3秒
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxコマンド, LinuxコマンドK-O, テキスト処理コマンド > lessコマンドでファイルを閲覧する方法|検索やスクロール操作もコマンド
「ログファイルの中身を確認したいけど、catだと一瞬で流れてしまって読めない」
「moreコマンドだと前に戻れなくて不便」

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

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

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

Linuxのコマンド操作、なんとなくで済ませていませんか?

lessコマンドのようなファイル閲覧の基本操作は、サーバー管理の土台になるスキルです。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

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



無料プレゼント
図解60p「Linuxサーバー構築入門マニュアル」
独学で詰まる前に、“型(手順書)”で最初の環境構築をサクッと終わらせましょう。
登録10秒/自動返信でDL/合わなければ解除3秒
無料で受け取る ※メールアドレスだけでもOK(必須項目は最小限)

宮崎 智広

この記事を書いた人

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

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

<<関連記事>>
・pstree
・chsh
・finger
・duコマンドでディスク使用量を確認する方法|ディレクトリごとの容量や容量順ソートも
・LinuxのOSバージョンを確認するコマンド|uname・os-release・hostnamectlの使い方

図解60pのLinux無料マニュアル
登録10秒/自動返信でDL
無料で受け取る