新Linux入門|catコマンド徹底解説:行番号表示・空行除去・特殊文字可視化の実践

 Linuxでテキストファイルの内容を確認したいとき、もっとも基本的で便利なコマンドが cat(キャット)コマンド です。
「cat」は “concatenate(連結する)” の略で、複数のファイルを結合して内容を表示したり、ファイルの中身を一気に出力したりするために使われます。

しかし、単に内容を表示するだけではありません。
 行番号の表示・空行の除去・特殊文字の可視化など、実務で役立つ多彩なオプションを使いこなすことで、より正確なテキスト確認やログ解析が行えます。

ここでは AlmaLinux 9.6 環境を前提に、catコマンドの実践的な使い方をやさしく解説します。

🐱catコマンドとは?

 cat コマンドは、LinuxやUnix系システムでテキストファイルの内容を標準出力(画面)に表示したり、複数のファイルを結合して出力したりするコマンドです。

 ファイルの中身を「確認したい」「別のファイルにまとめたい」など、日常的な作業で頻繁に利用されます。
また、簡単なリダイレクト(> や >>)と組み合わせることで、ファイル作成にも活用できます。

コマンド書式

cat [オプション] [ファイル名...]
項目説明
catファイルの内容を表示・連結するコマンド
[オプション]表示形式や制御動作を指定
[ファイル名]表示・結合したいファイル名を指定

💡 ポイント

  • ファイルを指定しない場合、標準入力から受け取った内容をそのまま出力します。
  • パイプ(|)と組み合わせて、他のコマンドに内容を渡すこともできます。

⚙️ 主なオプション一覧と説明

オプション説明
-n行番号を付けて出力する(空行も含む)
-b行番号を付けて、空行を除いた行にのみ番号を付ける。
-E各行の末尾に「$」を表示する。
-Tタブ文字を「^I」として表示する。
-s連続する空行を1行にまとめて表示する。
-A-vET をまとめて指定。非表示文字をすべて可視化
-v制御文字など非表示文字を可視化する。
-h, --helpヘルプを表示する。

💬 解説
ログファイルなどを確認する際、単に cat で内容を出すだけではなく、
 「行番号を付けたい」「空行を減らしたい」「制御文字を見たい」といったニーズに応えるのがこれらのオプションです。

🖥️ 使用例と出力解説

① ファイルの内容を表示する

[suzuki@AlmaLinux ~]$ cat sample.txt
Hello Linux!
Welcome to AlmaLinux 9.6.
This is a test file.

📘 説明
単純にファイルの中身を表示する基本的な使い方です。
出力はそのまま画面に表示され、ファイルの内容を確認できます。

② 行番号を付けて出力する(-n)

[suzuki@AlmaLinux ~]$ cat -n sample.txt
     1  Hello Linux!
     2  Welcome to AlmaLinux 9.6.
     3  This is a test file.

📘 説明
-n オプションを指定すると、すべての行に行番号が付与されます。
行番号付きのログ確認やスクリプトの行管理などに役立ちます。

③ 空行を除いて行番号を付ける(-b)

[suzuki@AlmaLinux ~]$ cat -b sample.txt
     1  Hello Linux!
     2  Welcome to AlmaLinux 9.6.

        ←(空行には番号が付きません)
     3  This is a test file.

📘 説明
-b は空行を無視して行番号を付けます。
設定ファイルなど、空行を多用するファイルを扱うときに便利です。

④ 行末にマークを表示(-E)

[suzuki@AlmaLinux ~]$ cat -E sample.txt
Hello Linux!$
Welcome to AlmaLinux 9.6.$
This is a test file.$

📘 説明
-E を使うと、行末に「$」を表示します。
改行位置を明確にしたいときや、不要なスペース・改行を確認したいときに役立ちます。

⑤ タブ文字を可視化(-T)

[suzuki@AlmaLinux ~]$ cat -T tab_sample.txt
Item1^I100
Item2^I250
Item3^I400

📘 説明
-T オプションを使うと、タブ文字が「^I」として表示されます。
データファイルやCSVの確認に便利です。

⑥ 連続する空行をまとめて表示(-s)

[suzuki@AlmaLinux ~]$ cat -s blank.txt
Line 1

Line 2
Line 3

📘 説明
-s オプションは、連続する空行を1行に圧縮します。
大量の空行を含むログや設定ファイルをすっきり表示できます。

⑦ 特殊文字をすべて可視化(-A)

[suzuki@AlmaLinux ~]$ cat -A control.txt
Hello^IWorld!$
^[[31mThis is red text^[[0m$

📘 説明
-A は -vET の組み合わせで、制御文字・行末・タブをすべて表示します。
見えない制御コードを確認したいときにとても便利です。

🧠 ちょっと便利な応用例

コマンド例説明
cat file1.txt file2.txt複数ファイルを連結して表示
cat file1.txt file2.txt > merged.txt2つのファイルを結合して新しいファイルに出力
cat -n /etc/passwd行番号付きでシステムユーザー情報を確認
cat -s /var/log/messagesログの空行を整理して見やすく表示

💡 補足
リダイレクト(>>>)と組み合わせると、ファイル作成・追記も可能です。
ただし、誤って > で上書きしないよう注意しましょう。

⚠️ 注意点とヒント

状況原因対策
ファイルが大きすぎて画面が流れる出力が多いless や more と組み合わせる(例:cat file.txt
権限エラーファイルに読み取り権限がないsudoやchmodでアクセス権を確認
文字化けエンコーディングの違いiconvコマンドなどで変換して確認

✅ まとめ:catコマンドは「見る+整える」の万能ツール!

cat コマンドは、Linuxでもっとも基本的かつ重要なツールのひとつです。
単にファイルを「見る」だけでなく、オプションを活用すれば
「見やすく整える」「不要な空行を整理する」「特殊文字を可視化する」こともできます。

💡 覚えておきたいポイント

  • -n:行番号を付けて全行を表示
  • -b:空行を除いて番号表示
  • -E:行末を「$」で明示
  • -T:タブを「^I」で表示
  • -s:空行をまとめてすっきり
  • -A:すべての特殊文字を可視化

シンプルなコマンドながら、ログ確認やデバッグ、ファイル整形の強力な味方。
今日から cat コマンドを使いこなして、Linux操作をもっと快適にしましょう!