【キャット】

cat とは?

最終更新:
💡 ファイルの中身を「にゃん」と一気に見せてくれるコマンド

ファイルや標準入力の内容を順に標準出力へ書き出すLinux/Unixコマンド。通常はターミナルに表示され、複数ファイルの連結や他のコマンドへの入力にも使える。

📌 このページのポイント
入力を順につなげて出力する a.txt Hello b.txt World cat a.txt b.txt 標準出力 Hello World 出力先は端末・ファイル・他のコマンド
ファイルを指定した順に出力する例で、Helloの後には入力にある改行が入っています。catが区切りを追加するわけではなく、「>」で保存する際は既存の出力先を上書きします。
ひよこ ひよこ
catって猫のことじゃないの?
ペンギン先生 ペンギン先生
concatenate(連結する)の略だよ。ファイルなどの内容を順につなげて標準出力へ書き出すコマンドなんだ。標準出力は通常ターミナルに表示されるけれど、ファイルや別のコマンドへ送ることもできるよ。
ひよこ ひよこ
どうやって使うの?
ペンギン先生 ペンギン先生
「cat memo.txt」でmemo.txtの内容を出力するよ。ファイル名を省くと標準入力から読み取るので、入力を待つこともある。たとえばパイプで別のコマンドから渡された内容も読めるんだ。
ひよこ ひよこ
複数のファイルを結合して保存できる?
ペンギン先生 ペンギン先生
「cat a.txt b.txt > merged.txt」で、a.txtの後にb.txtの内容を出力して保存できるよ。区切りや改行を自動で足すわけではない。「>」は既存の出力先を上書きするので、出力先を入力ファイルと同じ名前にしないでね。
ひよこ ひよこ
行番号を付けて表示したりもできるの?
ペンギン先生 ペンギン先生
GNUのcatなら「cat -n memo.txt」で空行も含めて番号を付けるよ。「cat -b memo.txt」は空行には番号を付けず、その行自体は残す。両方を指定した場合は-bが優先されるんだ。
ひよこ ひよこ
大きいファイルをcatすると大変そうだね?
ペンギン先生 ペンギン先生
内容を一気に出力するから、画面で読むならless、先頭だけならhead、末尾だけならtailなどを使い分けよう。catは連結やデータの受け渡しにも使えるので、内容を全部表示して読むことだけが用途ではないんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「cat」って出てきたら「ファイルなどの内容を順につなげて出力するコマンド」と思えばだいたいOK!
📖 おまけ:英語の意味
「concatenate」 = 連結する
💬 名前はconcatenate(連結する)の略。複数の入力を順につなげて出力する、と覚えると名前と役割が結び付くよ。

参考資料

← 用語集にもどる