「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
よく使うオプション
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
実務で使える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で困った時の対処法
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キーを押せば終了できます。
本記事のまとめ
| やりたいこと | コマンド/操作 |
|---|---|
| ファイルを閲覧する | 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日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
登録10秒/自動返信でDL/合わなければ解除3秒
<<関連記事>>
・pstree
・chsh
・finger
・duコマンドでディスク使用量を確認する方法|ディレクトリごとの容量や容量順ソートも
・LinuxのOSバージョンを確認するコマンド|uname・os-release・hostnamectlの使い方
