【初心者向け】catコマンド「ファイルの中身を表示」- コピペで試せるオプション理解 -【Linuxコマンド入門 #9】

前回(#8)は、ファイルを移動させる mvコマンドについて学びました。

mvコマンドの使い方紹介、Linux Ubuntu初学者向けに、よく使うオプションを優先的に紹介しています。

【初心者向け】mvコマンド「ファイルやフォルダを移動させる」- コピペで試せるオプション理解 -【Linuxコマンド入門 #8】

ファイルやディレクトリを「移動」させたり、「名前を変更」したりする mvコマンドについて紹介します。動作について説明し、よく使うオプションを優先的に紹介します。

UBUNTU-linuxコマンド入門シリーズのサムネイル。この記事シリーズでは、よく使うコマンドを優先的に紹介し、シリーズを通して最低限コマンドライン操作ができるようになることを目標に紹介しています。 18 記事
シリーズ

Linuxコマンド入門

LINUXコマンドの基礎について、ゼロから最低限ファイル操作などができるようになるまでの手順を紹介します。linux系な...

今回は、ファイルの中身を見るcatコマンドについて紹介します。

catコマンドの使い方紹介、Linux Ubuntu初学者向けに、よく使うオプションを優先的に紹介しています。

1. cat コマンドとは?

catは “Concatenate”(連結する)の略です。 その主な機能は、指定されたファイルの中身を読み込み、ターミナルの画面(標準出力)にすべて一気に表示することです。

2. cat の基本的な使い方

cat の基本構文は以下の通りです。

cat [表示したいファイル名.拡張子]

上記コマンドで中身をそのまま表示できます。

3. もっと詳しく見る cat の便利オプション

3-1. 行番号表示 -n (Number)

cat -n memo.txt

# 出力例
# 1  [Settings]
# 2  User=Tukumo-01
# 3
# 4  [timeline]
# 5  laststamp = 2025-08-01

用途: プログラムのソースコードや設定ファイルを見て、「何行目にエラーがある」といった議論をする際に必須です。

機能: すべての行に行番号を付けて表示します。

3-2. 行の終わり確認 -E (Show-Ends)

cat -E memo.txt

# 出力例
# [Settings]$
# User=Tukumo-01   $
# $
# [timeline]$
# laststamp = 2025-08-01$

用途: 「行末に不要なスペース(空白)があるか」や、「見た目上は改行されているが、実際は一行として続いている」といった問題を一発で見抜くことができます。

機能: 各行の末尾に $ マークを表示します。

3-3. -T (Show-Tabs)

cat -T memo.txt

# 出力例
# def function(num1,num2,i):
# ^Itmp_l = [num1,num2]
# ^Ifor n in range(i):
# ^I    tmp = tmp_l[0] + tmp_l[1] 
# ^I    tmp_l[0] = tmp_l[1]
# ^I    tmp_l[1] = tmp
# ^Ireturn tmp_l

用途: Pythonのコードなど、インデント(字下げ)が「スペース」なのか「タブ(^I )」なのかを区別するのに非常に強力です。catで見ただけでは区別できませんが、-Tを使えば一目瞭然です。

機能: タブ文字を ^I (コントロール+I) という目に見える形で表示します。

ちょこっと小話:なぜ cat (連結) と呼ばれるのか?

cat の本来の機能は、実は「ファイルの中身を見る」ことではなく、その名の通り「ファイルを連結する (Concatenate)」ことでした。

cat は、引数に複数のファイルを指定すると、それらを順番に連結して表示します。

cat file1.txt
# Hello

cat file2.txt
# World

cat file1.txt file2.txt
# Hello
# World

file1.txt と file2.txt の中身が連結されて表示されました。

この「連結する」機能の「引数が1つのファイルだけだったら、そのファイルだけを表示する」という動作が、いつの間にか「中身を見る」という目的で主流になったのです。 (touch がタイムスタンプ更新の副産物でファイル作成に使われるようになったのと似ていますね)

次のシリーズ、”続・LinuxCommand入門”で学ぶ “>”リダイレクトと組み合わせることで、複数ファイルを一つのファイルに出力するという使い方ができます。

linuxコマンドを連結しより高度に扱うためのパイプやリダイレクトの仕方について紹介するシリーズのサムネイル
シリーズ

続・Linuxコマンド入門 ~パイプとリダイレクトを使いこなす~

Linuxコマンドの出力に対して処理してデータを加工したり、処理を自動化する「コマンド結合」の方法について紹介します。

4. cat は長いファイルを見るのには適さない

catは、ファイルの中身をそのまま表示するので、短いファイルをパッと確認したいときには有用ですが、行数が1000を超えるようなファイルをcatで表示させると、すべてを一気にターミナルに表示しようとするため、スクロールが大変だったり、terminalの出力行数制限で最後の方しか見えなかったりします。

長いファイルを見る場合は、次回以降に紹介するlessや、はじめと最後だけ見たいときは[head] [tail]コマンドを利用すると見やすくなります。

第9回のまとめ

  • cat : ファイルの中身を標準出力、ファイルを結合
  • cat [中身を見たいファイル] : ファイルの中身を出力
  • cat [ファイル1] [ファイル2] : ファイル1と2を結合して出力

次回予告

お疲れ様でした! 今回は catについて紹介しました。次回(#10)は、ファイルを出力するのではなく中身をエディタの様に見る方法 lessコマンドについて紹介します。

lessコマンドの使い方紹介、Linux Ubuntu初学者向けに、よく使うオプションを優先的に紹介しています。

【初心者向け】lessコマンド「巨大ファイルを快適閲覧」- コピペで試せるオプション理解 -【Linuxコマンド入門 #10】

Linuxのlessコマンドはcatの罠(長いファイルが読めない)を解決。行番号ジャンプ(+[数])や検索(/)、ログ監視(F)など、巨大なファイルを快適に閲覧する方法を解説します。

UBUNTU-linuxコマンド入門シリーズのサムネイル。この記事シリーズでは、よく使うコマンドを優先的に紹介し、シリーズを通して最低限コマンドライン操作ができるようになることを目標に紹介しています。 18 記事
シリーズ

Linuxコマンド入門

LINUXコマンドの基礎について、ゼロから最低限ファイル操作などができるようになるまでの手順を紹介します。linux系な...