catコマンドとは?Linuxでファイル内容を表示・連結する基本
生徒
「Linuxでファイルの中身を確認したいときって、どうすればいいですか?」
先生
「そのときはcatコマンドを使うと、簡単にファイルの内容を表示できますよ。」
生徒
「catって猫のことですか?」
先生
「そのcatではなくて、“concatenate(連結する)”の略なんです。ファイルを結合するのが本来の目的ですが、内容表示にも使えます。」
1. catコマンドとは?
catコマンドは、LinuxやUnix系のシステムで使われる、ファイル操作の基本中の基本ともいえるコマンドです。主にファイルの内容を表示するために使われますが、複数のファイルを連結して表示したり、新しいファイルとして保存したりすることもできます。
「cat」は「concatenate(連結する)」の略で、複数のファイルを1つにまとめるという意味があります。ただし、初心者にとって最もよく使うのは「ファイル内容の表示」機能です。
2. ファイルの中身を表示する
もっとも基本的な使い方は、1つのファイルの内容をそのまま画面に表示する方法です。たとえば、「sample.txt」というファイルの中身を確認する場合は、次のように入力します。
cat sample.txt
これはテスト用のファイルです。
2行目の内容です。
3行目のテキストもあります。
このように、ファイルの中にあるテキストがそのまま端末に表示されます。とても直感的でわかりやすいですね。
3. 複数ファイルを連結して表示する
catコマンドは、複数のファイルを一気に読み取って、1つの出力として表示することができます。以下のように使います。
cat file1.txt file2.txt
これはfile1の内容です。
これはfile2の内容です。
このように、2つのファイルが順番に連結されて表示されます。文章やログファイルをまとめて確認したいときに便利です。
4. ファイルを連結して新しいファイルに保存する
表示だけでなく、連結した内容を別のファイルに保存することもできます。これは「リダイレクト」と呼ばれる機能を使います。記号「>」を使うことで、出力を新しいファイルに保存できます。
cat file1.txt file2.txt > combined.txt
このコマンドを実行すると、file1.txtとfile2.txtの内容が合わさってcombined.txtという新しいファイルが作られます。
5. catコマンドとechoの違い
初心者が混乱しやすいのが、catとechoの違いです。echoは、指定した文字をそのまま表示するだけですが、catはファイルの内容を読み取って表示します。
echo hello
hello
cat hello.txt
hello
world
echoは手軽ですが、ファイルの中身全体を見るにはcatのほうが適しています。
6. 改行や行番号を表示するオプション
catコマンドには、いくつか便利なオプション(追加の指定)が用意されています。たとえば、行番号を表示したい場合は-nオプションを使います。
cat -n memo.txt
1 これは1行目
2 これは2行目
3 これは3行目
また、改行だけの行を見やすくするには-eオプションが便利です。
cat -e memo.txt
これは1行目$
これは2行目$
$
これは4行目$
このように、行末に「$」が付くことで空行の存在も明確に確認できます。
7. ファイルを新規作成する裏技的使い方
実はcatコマンドには、新しいファイルを作る裏技的な使い方もあります。
次のように入力すると、キーボードから直接テキストを入力して、新しいファイルを作ることができます。
cat > newfile.txt
これは新しく作るファイルです。
Ctrl + D(同時押しで終了)
Ctrl + Dを押すと入力が終了して、newfile.txtに保存されます。エディタを開かずにテキストを書きたいときに便利な方法です。
8. tacコマンドとの違い
catに似たコマンドにtacがあります。これはcatの逆で、ファイルの行を逆順に表示するものです。
tac sample.txt
3行目
2行目
1行目
ログファイルや履歴のように、新しい情報を先に見たいときに便利です。
まとめ
catコマンドはLinuxの基本動作において非常に重要な役割を持ち、ファイル内容を表示したり複数ファイルを連結したりと、幅広い用途で利用されます。とくに、初心者が最初に覚えるべきコマンドとして挙げられることが多く、ファイルの確認やテキスト操作の基礎となる存在です。記事で解説したように、catは「concatenate」という言葉に由来し、複数のファイルを結合する意味を持ちながら、実際には日常的な操作として「ファイルの中身を見る」目的に使われる場面が非常に多いコマンドです。
また、catは単純にファイル内容を表示するだけでなく、リダイレクトと組み合わせることで新しいファイルを作成できるなど、応用力のある機能も備えています。特に、cat > newfile.txtのようにしてエディタを使わずにテキストファイルを書き出せる点は、簡単なメモ作成やログ確認の補助などにも大変便利です。さらに、複数ファイルの内容を一つにまとめる操作や、-nオプションによる行番号表示、-eによる改行の可視化など、用途に応じて使い分けることで、ファイル解析がよりスムーズになります。
同時に、catコマンドには似た用途のコマンドが存在し、使い分けを知ることでLinux操作の幅が広がります。その代表例がtacであり、catとは逆に行を反対順序で表示します。ログファイルのように、新しい行を先に確認したい場面では特に有効です。また、簡単な文字列表示ならechoの方が向いている場合もあるため、目的に合わせてコマンドを選べるようになると効率が大きく向上します。
catコマンドの基本動作を実際の例で確認しよう
例えば、複数ファイルの内容をまとめて確認したい場合、以下のようにcatを使用できます。
cat file1.txt file2.txt
これはfile1の内容です。
これはfile2の内容です。
このように、複数ファイルを順番に表示してくれるため、関連する情報を一括で確認したいときにとても便利です。さらに、以下のようにリダイレクト記号「>」を使えば、新しいファイルとして保存できます。
cat file1.txt file2.txt > combined.txt
こうした機能は、ログの整理やデータの結合、バックアップ作成など、さまざまな作業を効率化する強力な手段になります。
行番号や改行の確認など便利なオプション
特定の用途では、行番号を表示したり、改行や空行を分かりやすくしたいこともあります。その場合には、次のようなオプションが役立ちます。
cat -n memo.txt
1 これは1行目
2 これは2行目
cat -e memo.txt
これは1行目$
これは2行目$
$
このように、ファイルの構造を視覚的に把握しやすくなるため、コードレビューやログ解析にも大いに役立ちます。とくに改行の可視化は、設定ファイルのトラブルシューティングでも使われるテクニックの一つです。
catとtacの違いを理解してさらに便利に活用
tacはcatの逆順表示であるため、ログの最新行をすぐに確認したいときに最適です。使い分けを理解すると、作業のスピードと正確性が大きく向上します。
tac sample.txt
3行目
2行目
1行目
このような違いを把握すると、Linuxのファイル処理がより直感的に行えるようになり、作業効率も自然と上がります。
生徒:「catってただ内容を表示するだけだと思っていましたが、連結したり新しいファイルを作れたり幅広いんですね!」
先生:「その通りです。シンプルなコマンドほど、実は便利な機能がたくさんあるものですよ。」
生徒:「行番号を出せるのも助かりました。設定ファイルを確認するときに使えそうです。」
先生:「ファイル構造を把握したいときにはとても役立ちます。改行の可視化も覚えておくと便利ですよ。」
生徒:「tacとの違いも理解できました!用途に合わせて使い分けていきたいです。」
先生:「その調子です。catを使いこなせれば、Linuxのファイル表示操作はほとんど困らなくなりますよ。」