PR
更新:2024/10/15

【Ubuntu】ファイルの内容の表示catコマンドの使い方をわかりやすく解説

はるか
はるか
catコマンド、知ってる?
ふゅか
ふゅか
もちろん!ファイルの内容を表示したり、複数のファイルを連結したりするコマンドだよね。便利だよね~♪

1. catコマンドとは

catは「concatenate(連結する)」の略で、ファイルの内容を表示したり、複数のファイルを連結して表示・作成したりするためのコマンドです。主な用途は以下の通りです。

  • ファイルの内容を表示する
  • 複数のファイルを連結して表示する
  • 新しいファイルを作成する
  • 既存のファイルに内容を追加する

2. 基本的な使い方

いくつかの使い方の例をwslを使いながら紹介します。まず、wslのターミナルを起動をします。

2.1. ファイルの内容を表示する

ファイルの内容を確認したいときは、catコマンドを使用します。次のコマンドで指定したファイルの内容がターミナルに表示されます。

cat ファイル名

例:

cat example.txt

このコマンドを実行すると、example.txtファイルの内容がターミナルに表示されます。

2.2. 複数のファイルを連結して表示する

catコマンドは、複数のファイルを連結して表示することもできます。次のコマンドで、複数のファイルの内容をまとめて表示できます。

cat ファイル1 ファイル2

例:

cat file1.txt file2.txt

このコマンドを実行すると、file1.txtfile2.txtの内容が順番に連結されて表示されます。複数のファイルの内容を一度に確認したいときに便利です。

2.3. 新しいファイルを作成する

新しいファイルを作成し、内容を入力する場合は、次のようにcatコマンドを使用します。このコマンドを実行すると、ターミナル上で入力待ち状態になります。必要な内容を入力した後、Ctrl + Dを押して入力を終了し、ファイルが作成されます。

cat > 新しいファイル名

例:

cat > newfile.txt

このコマンドを使用すると、newfile.txtという新しいファイルが作成され、ターミナル上で直接内容を入力することができます。「Ctrl+D」で入力を終了することができます。

2.4. 既存のファイルに内容を追加する

既存のファイルに新しい内容を追記したい場合は、次のようにcatコマンドを使用します。このコマンドを実行すると、ターミナル上で入力待ち状態になり、入力した内容が指定したファイルに追加されます。

cat >> 既存のファイル名

例:

cat >> newfile.txt

このコマンドを使うと、newfile.txtに新しい内容が追記されます。ファイルを編集せずに追加情報を簡単に挿入できるため、ファイルの拡張に便利です。

はるか
はるか
既存のファイルに内容を追加する方法もある。「cat >> ファイル名」で。
ふゅか
ふゅか
うん!新しい内容を追記したいときに使うの!これを利用して、ほかのコマンドの出力結果を指定したファイルに追記することもできるの!

3. オプションの活用

3.1. 行番号を表示する(-nオプション)

ファイルの内容を確認するときに、各行に行番号を付けて表示することができます。これにより、行数を確認しながら内容を見られるため、特定の行を探す際に役立ちます。

cat -n ファイル名

例:

cat -n example.txt

このコマンドを実行すると、example.txtのすべての行に行番号が付いて表示されます。

ふゅか
ふゅか
行番号を表示することもできるんだ!
はるか
はるか
うん、特定の行を探すのが楽になる。

3.2. 空白行以外に行番号を表示する(-bオプション)

空白行を除いて行番号を表示したい場合は、-bオプションを使用します。空白行には行番号が付かないため、実際の内容がある行だけに番号が付きます。

cat -b ファイル名

例:

cat -b example.txt

このコマンドを実行すると、example.txt内の空白行を除いた行にのみ行番号が付いて表示されます。

3.3. タブや改行を明示的に表示する

ファイルの中に含まれるタブや改行記号を可視化することも可能です。これにより、フォーマットが重要なファイルやテキストの編集時に便利です。

  • タブを可視化する(-Tオプション)

タブ文字を可視化したいときは、-Tオプションを使用します。タブは^Iとして表示されます。

cat -T ファイル名
  • 改行を可視化する(-Eオプション)

改行文字を明示的に表示するには、-Eオプションを使用します。改行は$記号として表示されます。

cat -E ファイル名

例:

cat -T -E example.txt

このコマンドを実行すると、example.txt内のタブと改行がそれぞれ^I$で表示され、ファイルのレイアウトやフォーマットを確認しやすくなります。

はるか
はるか
タブや改行の可視化もできる。

3.4. ファイルの内容を他のファイルにコピーする

ファイルの内容を別のファイルにコピーしたい場合、catコマンドを使用して、内容を新しいファイルに書き出すことができます。この方法を使うことで、ファイルの内容を簡単に別のファイルにコピーすることが可能です。

cat ファイル名 > コピー先のファイル名

例:

cat example.txt > copy.txt

このコマンドを実行すると、example.txtの内容がcopy.txtという新しいファイルにコピーされます。元のファイルには変更が加えられず、新しいファイルに内容がそのまま書き込まれます。

はるか
はるか
ファイルの内容を別のファイルにコピーする方法もある。
ふゅか
ふゅか
もちろん!連結して新しいファイルを作成したりもできるから、大量のデータを整理したいときに便利だね♪

3.5. 複数のファイルを連結して新しいファイルを作成する

複数のファイルの内容を連結し、それを新しいファイルとして保存することができます。この操作は、大量のファイルを1つのファイルにまとめたい場合に非常に便利です。

cat ファイル1 ファイル2 > 新しいファイル名

例:

cat file1.txt file2.txt > combined.txt

このコマンドでは、file1.txtfile2.txtの内容が連結され、combined.txtという新しいファイルに保存されます。連結された内容は、新しいファイルで一続きのテキストとして表示されます。

4. パイプなどの活用

4.1. lsとcatの組み合わせ

ディレクトリのリストをファイルに保存したい場合、lsコマンドの結果をcatで処理し、指定したファイルに出力できます。これにより、ディレクトリの内容を簡単に記録できます。

ls -l | cat > directory_list.txt

このコマンドでは、ls -lで表示されるディレクトリの詳細なリストがdirectory_list.txtに保存されます。これにより、ディレクトリ構成を簡単にファイルに残しておけます。

4.2. 大きなファイルの一部を表示する(head、tailコマンドとの組み合わせ)

非常に大きなファイルの全体を表示するのは、効率が悪い場合があります。そのような場合には、headコマンドやtailコマンドとcatを組み合わせて、ファイルの一部だけを表示することができます。

  • ファイルの先頭部分を表示するにはheadを使います。
cat ファイル名 | head -n 行数

例:

cat newfile.txt | head -n 2

このコマンドは、example.txtの最初の10行を表示します。

  • 逆に、ファイルの末尾部分を表示するにはtailを使います。
cat ファイル名 | tail -n 行数

例:

cat newfile.txt | tail -n 2

このコマンドは、newfile.txtの最後の2行を表示します。

4.3. ファイルの内容を逆順に表示する(tacコマンド)

catの逆の動作をするコマンドがtacです。このコマンドを使うと、ファイルの内容を逆順、つまり末尾から表示できます。データの逆順確認が必要な場合に便利です。

tac ファイル名

例:

tac newfile.txt

このコマンドを実行すると、newfile.txtの内容が末尾から順にターミナルに表示されます。

はるか
はるか
tacコマンドって知ってる?
ふゅか
ふゅか
もちろん!catの逆で、ファイルを逆順に表示できるコマンドよ。データの最後の方から見たい時に便利だよね。

5. 注意点

大きなファイルを一度に表示すると、ターミナルが大量のテキストで埋まってしまいます。ページ送りが可能なlessmoreコマンドの使用を検討してください。

6. 関連した記事

PR