この記事の監修:宮崎智広(Linux教育歴15年以上・受講者3,100名超)
「cat コマンドでファイルを表示すると、行数が多くて目的の行がすぐに見つからない」
「エラーログの何行目に問題があるか、ひと目で確認したい」

そんなときに役立つのが、行番号を付けてファイルを表示する方法です。

この記事では、cat -n コマンドを使ってファイルの内容を行番号付きで表示する方法を解説します。
空行の扱いが異なる -b オプション、nl コマンドや less -N との使い分けまで、現場でよく使うパターンを順番にまとめました。
【この記事でわかること】
・cat -n ファイル名 で全行に行番号を付けて表示できる
・cat -b ファイル名 で空行を除いた行番号表示ができる
・nl コマンドでも行番号付き表示が可能(デフォルトで空行は除外)
・less -N で大きなファイルをスクロールしながら行番号確認できる

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

catコマンドで行番号を付けてファイルを表示する

1. すべての行に行番号を付ける(-n オプション)

cat -n を使うと、ファイルの全行に行番号が付きます。
設定ファイルのチェックや、エラーログで「何行目か」をすぐに確認したいときに便利です。

[pakira@Dolphin conf]$ cat -n httpd.conf 1 ## 2 ## httpd.conf -- Apache HTTP server configuration file 3 ## 4 5 # 6 # Based upon the NCSA server configuration files originally by Rob McCool. 7 # 8 # This is the main Apache server configuration file.

2. 空行には行番号を付けない(-b オプション)

cat -b を使うと、空行を除いた行にだけ行番号が振られます。
コードや設定ファイルで「意味のある行だけに番号を付けたい」場合に使います。

[pakira@Dolphin conf]$ cat -b httpd.conf 1 ## 2 ## httpd.conf -- Apache HTTP server configuration file 3 ## 4 # 5 # Based upon the NCSA server configuration files originally by Rob McCool.

nl コマンドで行番号を付ける

nl コマンドも行番号付き表示ができます。
デフォルトで空行には番号が付かない点が cat -b に近い動作です。

[pakira@Dolphin conf]$ nl httpd.conf 1 ## 2 ## httpd.conf -- Apache HTTP server configuration file 3 ## 4 # Based upon the NCSA server configuration files originally by Rob McCool.

less -N で大きなファイルをスクロールしながら確認する

ファイルが大きくてスクロールしながら確認したい場合は less -N が便利です。
行番号を表示したまま G キーで末尾へジャンプ、/ で検索もできます。

# 行番号付きでスクロール表示する [pakira@Dolphin ~]$ less -N /var/log/messages # less 起動中に行番号表示を切り替える場合は「-N」を入力

応用:特定行だけを取り出す

1. sed で行番号指定して抽出する

cat -n で行番号を確認した後、sed で特定行だけを取り出せます。

# 100行目だけを表示する [pakira@Dolphin ~]$ sed -n '100p' /var/log/messages # 100行目から110行目を表示する [pakira@Dolphin ~]$ sed -n '100,110p' /var/log/messages

2. grep -n でマッチ行と行番号を同時に確認する

grep -n を使うと、文字列検索結果に行番号が付きます。
エラーメッセージが何行目にあるかを素早く特定できます。

# "error" が含まれる行と行番号を表示する [pakira@Dolphin ~]$ grep -n "error" /var/log/messages 145:Apr 4 09:15:23 Dolphin kernel: error: ... 289:Apr 4 10:32:11 Dolphin httpd: error: ...

本記事のまとめ

やりたいこと コマンド
全行に行番号を付けて表示する cat -n ファイル名
空行を除いて行番号を付ける cat -b ファイル名
nlコマンドで行番号付き表示する nl ファイル名
スクロールしながら行番号表示する less -N ファイル名
特定行を抽出する sed -n '行番号p' ファイル名
検索結果に行番号を付ける grep -n "文字列" ファイル名
行番号付き表示は、ログ解析や設定ファイルの確認で毎日使う基本操作です。
cat -n を基本として覚えておけば、ほとんどの場面で対応できます。

行番号付きでファイルを読む習慣が、ログ解析の速度を変える

大量のログファイルを素早く確認できるスキルは、現場での障害対応時間を大幅に短縮します。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

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


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

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

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

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

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

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

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

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

宮崎 智広

この記事を書いた人

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

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

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