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行目
ログファイルや履歴のように、新しい情報を先に見たいときに便利です。