Linux catコマンド完全ガイド - ターミナルでのファイル閲覧から結合・作成のテクニックまで!

概要

LinuxおよびUbuntuターミナルで最も広く使われている cat コマンドの基礎から実務での応用まで完全にまとめます。単にファイル内容を出力する機能以外にも、行番号表示、空白の可視化、ファイルの結合およびEOF(Heredoc)を活用したファイル作成方法まで例とともに紹介します。

1. catコマンドの基本使用法とテキストファイル内容の即時確認

cat コマンドの実習に使用するサンプルテキストファイルを生成するために、echo "Hello Ubuntu 24.04 LTS World!" > sample.txt コマンドを実行します。

echo “Hello Ubuntu 24.04 LTS World!” > sample.txt

cat コマンドは指定したテキストファイルの全内容をターミナル画面に出力します。
cat sample.txt コマンドを実行すると、ファイルに作成された内容が画面にすぐに表示されます。
⚙️ [主なオプション]

-n : すべての出力行に行番号を付けて表示します。
-b : 空白以外の行にのみ行番号を付けて表示します。
-s : 連続する空行を1つの空行に圧縮して出力します。
-E : 各行の末尾に $ 文字を表示して改行位置を可視化します。
-T : タブ(TAB)文字を ^I に変換して表示します。
-A : タブ、改行、制御文字をすべて含めてファイル内部のすべての要素を可視化します。

cat sample.txt

2. 行番号表示(-n)および特殊文字の可視化(-A)オプション活用法

cat コマンドのオプション実習のためのサンプルファイルを準備するために、echo -e "First Line\nSecond Line\n\nFourth Line\tTabbed" > options_demo.txt コマンドを実行します。

echo -e “First Line\nSecond Line\n\nFourth Line\tTabbed” > options_demo.txt

cat -n options_demo.txt コマンドを実行すると、空行を含むファイルのすべての行に行番号が付与されて出力されます。
コードや設定ファイルを閲覧する際に、正確な行の位置を一目で把握できます。

cat -n options_demo.txt

cat -A options_demo.txt コマンドを実行すると、タブや改行など目に見えない制御文字がすべて可視化されて表示されます。
各行の末尾には $ 文字が付き、タブ(TAB)の場所には ^I 文字が表示され、ファイル内の特殊文字やフォーマットエラーを明確に確認できます。

cat -A options_demo.txt

3. 複数のテキストファイルの結合(Concatenate)および新規ファイル保存

cat コマンドのファイル結合実習に使用する1つ目の設定ファイルである part1.txt を生成するために、echo "[Server Config]" > part1.txt コマンドを実行します。

echo “[Server Config]” > part1.txt

続いて結合対象となる2つ目の設定ファイルである part2.txt を生成するために、echo "Port=8080" > part2.txt コマンドを実行します。

echo “Port=8080” > part2.txt

cat part1.txt part2.txt > combined_config.txt コマンドを実行して、2つのファイルの内容を順番に結合します。
リダイレクト記号(>)を一緒に活用すると、ターミナル出力の代わりに combined_config.txt という新しいファイルへ結合結果がすぐに保存されます。

cat part1.txt part2.txt > combined_config.txt

cat combined_config.txt コマンドを実行して、結合が完了したファイルの全内容を確認します。
part1.txt[Server Config]part2.txtPort=8080 の内容が順番に合体してファイルに保存されていることがわかります。

cat combined_config.txt

4. ターミナル上でエディタを使わずに複数行ファイルを生成する (Heredoc / EOF)

cat << 'EOF' > heredoc_demo.txt コマンドを実行し、別途エディタを開かずにターミナルから直接複数行のテキストが含まれた heredoc_demo.txt ファイルを生成します。
Heredoc(<< 'EOF')構文とリダイレクト(>)記号を組み合わせて活用すると、EOF 記号が入力されるまでに作成したテキストをファイルとして即座に保存できます。

cat « ‘EOF’ > heredoc_demo.txt
Line 1: Server Setup
Line 2: Firewall Config
EOF

cat heredoc_demo.txt コマンドを実行して、先ほどHeredocで即座に作成したファイルの全内容を確認します。
入力した Line 1: Server SetupLine 2: Firewall Config の内容がファイルに正常に保存され、画面にすぐに出力されることがわかります。

cat heredoc_demo.txt

5. 大容量ファイルを扱う際のcatの限界と代替コマンド(head, tail)のパイプ連携

大容量ファイルの探索実習に使用するサンプルログファイルを生成するために、seq 1 100 > large_log.txt コマンドを実行します。

seq 1 100 > large_log.txt

head -n 5 large_log.txt コマンドを実行すると、指定したファイルの1行目から上位5行の内容のみがターミナル画面に出力されます。
cat コマンドとは異なり、大容量ファイルの全内容を出力せず、ファイル冒頭のフォーマットや開始部分を素早く点検する際に便利です。

head -n 5 large_log.txt

tail -n 5 large_log.txt コマンドを実行すると、指定したファイルの末尾から下位5行の内容のみを選別して出力します。
ファイル全体を開く必要がなく、最新に更新されたログや下部の記録を効率的に把握できます。

tail -n 5 large_log.txt

cat large_log.txt | grep -E "(10|50|100)" コマンドを実行して、ファイル内容のうち指定したパターンである 1050100 が含まれる行のみをフィルタリングして出力します。
cat で読み込んだターミナル出力結果をパイプ(|)記号で grep コマンドと連携させると、大容量ファイル内から希望するキーワードが含まれる行のみを迅速に検索できます。

cat large_log.txt | grep -E “(10|50|100)”

ここまで、Linuxの cat コマンドを活用したファイルの閲覧から結合・作成のテクニックまで簡単に見てきました。
ご紹介したさまざまな活用法を参考にして、より効率的なLinuxターミナル環境を構築してみてください。