less/more/tail でログを読む - ページャ徹底活用
ログって怖くない!まずは読んでみよう
less コマンドの出番だよ!cat でドバッと全部出すんじゃなくて、ページをめくるように読めるんだ。ログファイルは長い。cat で開いたら画面が流れて終わる。
そこで登場するのがページャコマンド。less・more・tail の3つを覚えれば、どんな長いファイルも怖くない。
この記事でわかること
lessでログをページ送り・検索しながら読む方法moreの特徴とlessとの使い分けtailでファイル末尾(最新部分)だけを表示する方法tail -fでログをリアルタイム監視する方法- エラーログを調べる実践的な手順
less の基本 - ページャの王様
結論:
lessはページ送り・前後移動・キーワード検索ができるページャの王様で、迷ったらこれを使えばよい。
less って名前が面白いですね。cat より少ない?more というコマンドがすでにあったから、それより高機能なのに less って名付けたんだ。less を起動する
less /var/log/syslog
Nov 1 10:00:01 myserver systemd[1]: Started Daily apt download activities. Nov 1 10:00:23 myserver kernel: [12345.678] eth0: renamed from veth1234 Nov 1 10:00:30 myserver sshd[1234]: Accepted publickey for user from 192.168.1.1 ...
ファイルが開いたら、キーボードで操作する。
less の基本操作
| キー | 動作 |
|---|---|
スペース / f |
次のページ |
b |
前のページ |
↓ / j |
1行下 |
↑ / k |
1行上 |
G |
最後の行へジャンプ |
g |
最初の行へジャンプ |
q |
終了 |
/キーワード |
前向き検索 |
?キーワード |
後ろ向き検索 |
n |
次の検索結果 |
N |
前の検索結果 |
とりあえず覚える 3 つ
スペース:次のページq:終了/エラー:「エラー」という文字を検索
less で検索する
/ を押してキーワードを入力すれば検索できるよ!入力して Enter を押すと、その文字が含まれる行にジャンプするんだ。less /var/log/syslog
less が開いたら /error と入力して Enter を押す。
「error」を含む行にジャンプし、n で次のヒット、N で前のヒットに移動できる。
less は検索結果をハイライト表示してくれるので、長いログでもエラー箇所がすぐに見つかる。
more の基本 - シンプルなページャ
結論:
moreはスペースで進むだけのシンプルなページャだが、前のページには戻れないのが弱点。
more コマンドも似たようなものですか?more はもっとシンプル。「もっと見る」ってスペースを押すだけ。ただし後ろには戻れないのが弱点だよ。more /var/log/syslog
more では:
| キー | 動作 |
|---|---|
スペース |
次のページ |
Enter |
1行進む |
q |
終了 |
more は前のページに戻れない。すでに読んだ部分を確認したい場合は less を使おう。
less と more の使い分け
結論: 前に戻れて検索もできる
lessが基本。moreはless未導入の環境やシンプル操作で十分なときに使う。
less だけ覚えれば more はいらないですか?more はシステムによっては less がインストールされていない場合に重宝するし、シンプルな操作で十分なこともある。迷ったら less を使えば間違いないよ。| 比較 | less |
more |
|---|---|---|
| 前に戻る | できる | できない |
| 検索 | できる(ハイライトあり) | 基本機能のみ |
| パイプ対応 | できる | できる |
| デフォルト搭載 | 多くの環境 | ほぼすべての環境 |
結論:迷ったら less を使う。
tail の基本 - ファイルの末尾を見る
結論:
tailはファイル末尾(最新部分)を表示し、デフォルトは最後の10行、-nで行数を指定できる。
tail コマンドでファイルの末尾(最新部分)だけ表示するのが便利なんだ。デフォルトで最後の10行を表示するよ。tail /var/log/syslog
Nov 1 11:59:43 myserver systemd[1]: Starting Session 42 of User user. Nov 1 11:59:43 myserver systemd-logind[456]: New session 42 of user user. Nov 1 11:59:44 myserver sshd[5678]: session opened for user user by (uid=0) Nov 1 11:59:58 myserver systemd[1]: session-42.scope: Deactivated successfully.
行数を指定する
tail -n 50 /var/log/syslog
-n 50 で最後の50行を表示できる。-n は省略して -50 とも書ける。
tail -50 /var/log/syslog
head コマンドはファイルの先頭を表示する。tail と head はセットで覚えよう。
tail -f でリアルタイム監視
結論:
tail -fはファイルへの追記をリアルタイム表示し、ログ監視に活躍する。終了はCtrl+C。
tail -f がまさにそれ!-f は「follow(追いかける)」の意味で、ファイルに追記されるたびに画面に表示してくれるんだ。tail -f /var/log/nginx/access.log
192.168.1.1 - - [01/Jun/2026:12:00:01 +0900] "GET / HTTP/1.1" 200 1234 192.168.1.2 - - [01/Jun/2026:12:00:05 +0900] "GET /api/users HTTP/1.1" 200 5678 192.168.1.1 - - [01/Jun/2026:12:00:07 +0900] "POST /api/login HTTP/1.1" 200 89
Ctrl+C で終了する。
tail -f は終了操作(Ctrl+C)を忘れるとずっと動き続ける。終わったら必ず Ctrl+C で止めよう。
複数ファイルを同時に監視する
tail -f /var/log/nginx/access.log /var/log/nginx/error.log
複数のファイルを指定すると、どのファイルに追記があったかファイル名付きで表示してくれる。
==> /var/log/nginx/access.log <== 192.168.1.3 - - [01/Jun/2026:12:01:00 +0900] "GET /image.png HTTP/1.1" 200 9876 ==> /var/log/nginx/error.log <== 2026/06/01 12:01:01 [error] 1234#0: *5 No such file or directory
実践 - エラーログを調べる
結論:
tail -n 100で最新ログを確認し、lessで検索、tail -fでリアルタイム追跡する流れが基本。
tail -n 100 で最新100行を確認して、それから less で詳しく調べるのがおすすめだよ。ステップ 1 - 最新のログを確認
tail -n 100 /var/log/syslog
ステップ 2 - エラーが多そうなら less で検索
less /var/log/syslog
less が開いたら /error や /failed で検索する。
ステップ 3 - リアルタイムで状況を追う
アプリを再起動したり操作したりしながら、ログをリアルタイムで確認したい場合:
tail -f /var/log/syslog
grep と組み合わせる
パイプで grep と組み合わせると特定のキーワードだけ絞り込める。
tail -f /var/log/syslog | grep -i error
「error」(大文字小文字問わず)を含む行だけリアルタイムで表示する。