テクノロジー LINUX 非公開: Linux Cat コマンドの使用方法 (例付き)

Linux Cat コマンドの使用方法 (例付き)

どのオペレーティング システムでも、ユーザーはファイルを操作し、ファイルの作成、削除、読み取りなどの操作を実行します。 Linux でも状況は変わりません。

Linux オペレーティング システムではグラフィカル ユーザー インターフェイスを使用してファイルを操作できますが、ほとんどの Linux ユーザーはターミナルからオペレーティング システムと対話することを好みます。

そのため、Linux には、ユーザーがターミナルから直接ファイルを操作できるコマンドがあります。そのようなコマンドの 1 つが cat コマンドです。

2023-05-12-10-00-03 のスクリーンショット
2023-05-12-10-00-03 のスクリーンショット

Linux のマニュアル ページでは、 cat コマンドを使用してファイルを連結し、ファイルの内容を標準出力に出力します。 Linux のマニュアル ページは、ユーザーが Linux コマンドとその使用方法を理解するのに役立つドキュメント ファイルです。

Linux コマンドのマニュアル ページにアクセスするには、 man <command_name> と入力するだけです。たとえば、 cat コマンドのマニュアル ページを表示するには、ターミナルで次のコマンドを実行します。

 man cat

cat コマンドの用途

前述したように、cat コマンドを使用すると、ファイルの内容を画面に出力できます。その他の機能は、ファイルを連結し、その内容を出力することです。これは、cat コマンドに複数のファイルを指定すると、その内容が連結され、その内容が画面に出力されることを意味します。

簡単に言うと、catコマンドは内容を複数のファイルにまとめて画面に出力します。ただし、このような操作では、cat コマンドは新しいファイルを作成せず、cat コマンドで使用されている元のファイルは変更されないままになります。

ubuntu-3145957_1920
ubuntu-3145957_1920

cat コマンドはリダイレクトにも使用されます。リダイレクトとは、ユーザーが標準入力のソースと標準出力および標準エラーの宛先を変更する方法を指します。標準入力、標準出力、および標準エラーは、Linux の通信に使用される標準ストリームです。

デフォルトでは、標準入力はキーボードであり、標準出力と標準エラーはデフォルトで画面に表示されます。

したがって、リダイレクトとは、デフォルトであるキーボードから標準入力を取得する代わりに、ファイルまたはその他のソースからリダイレクトして入力を取得できることを意味します。

デフォルトで画面に表示される標準出力と標準エラーに関しては、リダイレクトを通じてこれらの出力をファイルに書き込むことができます。

cat コマンドの構文

cat コマンドの構文は次のとおりです。

 cat [OPTION]... [FILE]...

Linux のマニュアル ページでは、角括弧内に記載されているものはすべてオプションです。したがって、上記の構文では、cat コマンドの引数として OPTION や File を指定することは必須ではありません。 2 つのいずれかを指定することも、両方を指定することも、まったく指定しないこともできます。

省略記号(…) は、先行する 1 つ以上のオペランドまたは引数が許可されることを示すために使用されます。したがって、cat コマンドは 1 つまたは複数の OPTION または FILE を取ることができます。

FILE は、cat コマンドで連結して表示するファイルを表します。 OPTION は、動作を変更するために cat コマンドに追加できるフラグを表します。 catコマンドで使用できるオプションは以下のとおりです。

2023-05-12-12-02-25 のスクリーンショット
2023-05-12-12-02-25 のスクリーンショット

cat コマンドは、渡されたファイルを取得し、その内容を標準出力 (端末ウィンドウ) に出力することによって機能します。複数のファイルが渡された場合、それらの内容は連結されてターミナル ウィンドウに表示されます。

cat コマンドは、渡されたフラグに応じて動作も異なります。たとえば、-n フラグを渡すと、cat コマンドがすべての出力行に番号を付けます。どのように動作させたいかに応じて、cat コマンドで使用できる任意のフラグを渡すことができます。

catコマンドの使い方

cat コマンドを使用するには、コマンドと、たとえば連結して読み取りたいファイルの名前を入力するだけです。 rainbow.txtというファイルの内容を出力するには、次のコマンドを実行します。

 cat rainbow.txt

フラグを追加して cat コマンドの動作を変更することもできます。たとえば、-n フラグを使用すると、すべての出力行に番号を付けることができます。上記の例では、次の行を実行することで、rainbow.txt 内のすべての出力行に番号を付けることができます。

 cat -n rainbow.txt

2 つのコマンドの出力を以下に示します。

2023-05-12-12-24-44 のスクリーンショット
2023-05-12-12-24-44 のスクリーンショット

cat コマンドで使用できるフラグやオプションを組み合わせるには、それらを順番に記述するか、間隔をあけて記述します。 2 つのどちらかが動作します。以下に示す -E フラグは、出力行の末尾にドル記号 ($) を追加するために使用されます。

これは、通貨の値を表示するときに役立ちます。 cat コマンドを使用して複数のフラグを組み合わせるさまざまな方法を以下に示します。

2023-05-12-12-32-59 のスクリーンショット
2023-05-12-12-32-59 のスクリーンショット

cat コマンドを使用して複数のファイルを連結して表示するには、ファイル名をスペースで区切って順番に記述するだけです。たとえば、 rainbow.txt Primary.txt という名前の 2 つのファイルを連結するには、次の行を実行します。

 cat rainbow.txt primary.txt

コマンドの出力を以下に示します。

2023-05-12-12-41-29 のスクリーンショット
2023-05-12-12-41-29 のスクリーンショット

この操作の後、2 つのファイル rainbow.txt primary.txt は変更されません。コマンド内でファイルが表示される順序によって、内容がどのように表示されるかが決まることに注意してください。内容は最初のファイルから最後のファイルまで表示されます。以下に示すように、複数のファイルを連結して表示するときにフラグを追加することもできます。

2023-05-12-12-45-37 のスクリーンショット
2023-05-12-12-45-37 のスクリーンショット

cat コマンドについて最後に注意すべき点は、コマンドにファイルが指定されていないか、ダッシュ (-) が指定されている場合、cat コマンドはファイルではなく標準入力から読み取るということです。標準入力はキーボードです。

したがって、cat コマンドは、ユーザーがキーボードから入力した内容を単純に表示します。これを実際に確認するには、次のコマンドを実行します。

 cat

このコマンドを実行すると、点滅するカーソルが表示され、キーボードからの入力を待ちます。任意のテキストを入力し、 Enter を押します。入力した内容は、以下に示すように標準出力に出力されます。

2023-05-12-13-02-07 のスクリーンショット
2023-05-12-13-02-07 のスクリーンショット

CTRL + C を押して終了し、cat コマンドへの入力の受け渡しを停止します。

cat コマンドを使用して、アクティブ ディレクトリ内の特定の種類のすべてのファイルの内容を連結して出力​​することもできます。これは、アスタリスク (*) ワイルドカードを使用して行われます。たとえば、特定のディレクトリ内のテキスト ファイル (.txt) の内容をすべて取り出すには、次のコードを実行します。

 cat *.txt

コマンドの出力を以下に示します。

2023-05-12-14-53-03 のスクリーンショット
2023-05-12-14-53-03 のスクリーンショット

cat コマンドの例

cat コマンドの標準的な使用法とは別に、cat コマンドの機能はリダイレクトによって拡張できます。前述したように、cat コマンドはデフォルトで端末画面に出力します。

ただし、リダイレクトを使用すると、出力を画面に表示するのではなく、別のファイルにリダイレクトできます。

Linux の出力リダイレクト演算子は > (不等号記号、シェブロンとも呼ばれます) です。

たとえば、次の行を実行すると:

 cat rainbow.txt

rainbow.txtの内容が画面に出力されます。

ただし、実行すると

cat colors.txt > rainbow.txt

rainbow.txt の内容は画面には表示されません。代わりに、それらはリダイレクトされ、 colors.txt ファイルに書き込まれます。これは、あるファイルから別のファイルにコンテンツをコピーする優れた方法です。

Linux における出力リダイレクトのデフォルトの動作では、リダイレクト先のファイル内のすべてのコンテンツが上書きされます。たとえば、上記の例では、 rainbow.txt 内のすべてのコンテンツが、 colours.txt のコンテンツによって上書きされます。リダイレクト先のファイルに既存のコンテンツを保持し、そこに新しいコンテンツを追加するには、リダイレクト時に >> を使用します。

>> を使用して、 rainbows.txt の出力を color.txt にリダイレクトした後、 colors.txt には、 rainbows.txt で見つかった色が含まれるようになったことに注意してください。

2023-05-12-15-14-50 のスクリーンショット
2023-05-12-15-14-50 のスクリーンショット

cat コマンドの機能をさらに活用するには、リダイレクトと、ファイルが提供されていないときに標準入力から読み取るという cat コマンドのデフォルトの動作を組み合わせて、cat コマンドを使用してファイルを作成し、ファイルに書き込むことができます。

以下のコードを実行すると

cat > dark.txt

dark.txt にリダイレクトされます。コンテンツが dark.txt にリダイレクトされるファイルを提供していないため、cat コマンドはキーボードからの入力を期待します。

したがって、 dark.txt に保存したいテキストを入力し、 Enter キー を押して次の行に進み、完了したら CTRL + D キーを押して、入力した内容をリダイレクト先のファイルに保存します。

存在しないファイルにリダイレクトしているため、 dark.txt が 自動的に作成され、キーボードから入力した内容がファイルに保存されます。このようにして、cat コマンドを使用してファイルを作成し、作成時にファイルに書き込むことができます。

操作の出力を以下に示します。

2023-05-12-15-26-56 のスクリーンショット
2023-05-12-15-26-56 のスクリーンショット

cat を使用して、ファイルの末尾にテキストを追加することもできます。 dark.txt を使用すると、次のコマンドを実行してさらに色を追加できます。

 cat >> dark.txt

次に、以下に示すように、キーボードで入力し、CTRL + D を押して新しいコンテンツを保存し、 dark.txt に追加することで、追加情報を追加できます。

2023-05-12-15-37-42 のスクリーンショット
2023-05-12-15-37-42 のスクリーンショット

コマンドを使用して、複数のファイルを 1 つのファイルに連結することもできます。このような操作の構文を以下に示します。

 cat file1 file2 file3 > file4

file1、file2、file3 の内容は連結されて file4 に書き込まれます。 file4 の内容を上書きしたくない場合は、>> を使用することもできます。 file$ が存在しない場合は、自動的に作成されます。

この例を以下に示します。

color.txt と Primary.txt の内容を allColors.txt に書き込むには、次のコマンドを実行します。

 cat colors.txt primary.txt > allColors.txt 
2023-05-12-15-47-27 のスクリーンショット
2023-05-12-15-47-27 のスクリーンショット

cat コマンドを使用して、1 つまたは複数のファイルのコンテンツを別のファイルに追加することもできます。これは、出力をリダイレクトするときに >> を使用して行われます。これにより、他のファイルに既に保存されている内容の上書きが回避されます。たとえば、primary.txt の内容を color.txt に追加するには、以下のコードを実行します。

 cat primary.txt >> colors.txt

この操作の結果を以下に示します。

2023-05-12-15-54-16 のスクリーンショット
2023-05-12-15-54-16 のスクリーンショット

結論

cat コマンドは、ファイルの内容を連結して表示できる非常に便利な Linux コマンドです。このコマンドには、動作を変更するために追加できる複数のフラグがあります。

リダイレクトにより、cat コマンドの機能が大幅に拡張され、ユーザーがファイルを作成およびコピーしたり、複数のファイルを 1 つのファイルに連結したり、既存のファイルに追加したりできるようになります。 cat コマンドの詳細については、man ページを参照してください。

システム管理者向けの Linux コマンドをいくつか調べることもできます。

「 Linux Cat コマンドの使用方法 (例付き)」についてわかりやすく解説!絶対に観るべきベスト2動画

【Linuxコマンド】catコマンドとは?
【初心者卒業!】 Linuxの基本はこれ一本でOK! 【Linuxまとめ】

どのオペレーティング システムでも、ユーザーはファイルを操作し、ファイルの作成、削除、読み取りなどの操作を実行します。 Linux でも状況は変わりません。

Linux オペレーティング システムではグラフィカル ユーザー インターフェイスを使用してファイルを操作できますが、ほとんどの Linux ユーザーはターミナルからオペレーティング システムと対話することを好みます。

そのため、Linux には、ユーザーがターミナルから直接ファイルを操作できるコマンドがあります。そのようなコマンドの 1 つが cat コマンドです。

2023-05-12-10-00-03 のスクリーンショット
2023-05-12-10-00-03 のスクリーンショット

Linux のマニュアル ページでは、 cat コマンドを使用してファイルを連結し、ファイルの内容を標準出力に出力します。 Linux のマニュアル ページは、ユーザーが Linux コマンドとその使用方法を理解するのに役立つドキュメント ファイルです。

Linux コマンドのマニュアル ページにアクセスするには、 man <command_name> と入力するだけです。たとえば、 cat コマンドのマニュアル ページを表示するには、ターミナルで次のコマンドを実行します。

 man cat

cat コマンドの用途

前述したように、cat コマンドを使用すると、ファイルの内容を画面に出力できます。その他の機能は、ファイルを連結し、その内容を出力することです。これは、cat コマンドに複数のファイルを指定すると、その内容が連結され、その内容が画面に出力されることを意味します。

簡単に言うと、catコマンドは内容を複数のファイルにまとめて画面に出力します。ただし、このような操作では、cat コマンドは新しいファイルを作成せず、cat コマンドで使用されている元のファイルは変更されないままになります。

ubuntu-3145957_1920
ubuntu-3145957_1920

cat コマンドはリダイレクトにも使用されます。リダイレクトとは、ユーザーが標準入力のソースと標準出力および標準エラーの宛先を変更する方法を指します。標準入力、標準出力、および標準エラーは、Linux の通信に使用される標準ストリームです。

デフォルトでは、標準入力はキーボードであり、標準出力と標準エラーはデフォルトで画面に表示されます。

したがって、リダイレクトとは、デフォルトであるキーボードから標準入力を取得する代わりに、ファイルまたはその他のソースからリダイレクトして入力を取得できることを意味します。

デフォルトで画面に表示される標準出力と標準エラーに関しては、リダイレクトを通じてこれらの出力をファイルに書き込むことができます。

cat コマンドの構文

cat コマンドの構文は次のとおりです。

 cat [OPTION]... [FILE]...

Linux のマニュアル ページでは、角括弧内に記載されているものはすべてオプションです。したがって、上記の構文では、cat コマンドの引数として OPTION や File を指定することは必須ではありません。 2 つのいずれかを指定することも、両方を指定することも、まったく指定しないこともできます。

省略記号(…) は、先行する 1 つ以上のオペランドまたは引数が許可されることを示すために使用されます。したがって、cat コマンドは 1 つまたは複数の OPTION または FILE を取ることができます。

FILE は、cat コマンドで連結して表示するファイルを表します。 OPTION は、動作を変更するために cat コマンドに追加できるフラグを表します。 catコマンドで使用できるオプションは以下のとおりです。

2023-05-12-12-02-25 のスクリーンショット
2023-05-12-12-02-25 のスクリーンショット

cat コマンドは、渡されたファイルを取得し、その内容を標準出力 (端末ウィンドウ) に出力することによって機能します。複数のファイルが渡された場合、それらの内容は連結されてターミナル ウィンドウに表示されます。

cat コマンドは、渡されたフラグに応じて動作も異なります。たとえば、-n フラグを渡すと、cat コマンドがすべての出力行に番号を付けます。どのように動作させたいかに応じて、cat コマンドで使用できる任意のフラグを渡すことができます。

catコマンドの使い方

cat コマンドを使用するには、コマンドと、たとえば連結して読み取りたいファイルの名前を入力するだけです。 rainbow.txtというファイルの内容を出力するには、次のコマンドを実行します。

 cat rainbow.txt

フラグを追加して cat コマンドの動作を変更することもできます。たとえば、-n フラグを使用すると、すべての出力行に番号を付けることができます。上記の例では、次の行を実行することで、rainbow.txt 内のすべての出力行に番号を付けることができます。

 cat -n rainbow.txt

2 つのコマンドの出力を以下に示します。

2023-05-12-12-24-44 のスクリーンショット
2023-05-12-12-24-44 のスクリーンショット

cat コマンドで使用できるフラグやオプションを組み合わせるには、それらを順番に記述するか、間隔をあけて記述します。 2 つのどちらかが動作します。以下に示す -E フラグは、出力行の末尾にドル記号 ($) を追加するために使用されます。

これは、通貨の値を表示するときに役立ちます。 cat コマンドを使用して複数のフラグを組み合わせるさまざまな方法を以下に示します。

2023-05-12-12-32-59 のスクリーンショット
2023-05-12-12-32-59 のスクリーンショット

cat コマンドを使用して複数のファイルを連結して表示するには、ファイル名をスペースで区切って順番に記述するだけです。たとえば、 rainbow.txt Primary.txt という名前の 2 つのファイルを連結するには、次の行を実行します。

 cat rainbow.txt primary.txt

コマンドの出力を以下に示します。

2023-05-12-12-41-29 のスクリーンショット
2023-05-12-12-41-29 のスクリーンショット

この操作の後、2 つのファイル rainbow.txt primary.txt は変更されません。コマンド内でファイルが表示される順序によって、内容がどのように表示されるかが決まることに注意してください。内容は最初のファイルから最後のファイルまで表示されます。以下に示すように、複数のファイルを連結して表示するときにフラグを追加することもできます。

2023-05-12-12-45-37 のスクリーンショット
2023-05-12-12-45-37 のスクリーンショット

cat コマンドについて最後に注意すべき点は、コマンドにファイルが指定されていないか、ダッシュ (-) が指定されている場合、cat コマンドはファイルではなく標準入力から読み取るということです。標準入力はキーボードです。

したがって、cat コマンドは、ユーザーがキーボードから入力した内容を単純に表示します。これを実際に確認するには、次のコマンドを実行します。

 cat

このコマンドを実行すると、点滅するカーソルが表示され、キーボードからの入力を待ちます。任意のテキストを入力し、 Enter を押します。入力した内容は、以下に示すように標準出力に出力されます。

2023-05-12-13-02-07 のスクリーンショット
2023-05-12-13-02-07 のスクリーンショット

CTRL + C を押して終了し、cat コマンドへの入力の受け渡しを停止します。

cat コマンドを使用して、アクティブ ディレクトリ内の特定の種類のすべてのファイルの内容を連結して出力​​することもできます。これは、アスタリスク (*) ワイルドカードを使用して行われます。たとえば、特定のディレクトリ内のテキスト ファイル (.txt) の内容をすべて取り出すには、次のコードを実行します。

 cat *.txt

コマンドの出力を以下に示します。

2023-05-12-14-53-03 のスクリーンショット
2023-05-12-14-53-03 のスクリーンショット

cat コマンドの例

cat コマンドの標準的な使用法とは別に、cat コマンドの機能はリダイレクトによって拡張できます。前述したように、cat コマンドはデフォルトで端末画面に出力します。

ただし、リダイレクトを使用すると、出力を画面に表示するのではなく、別のファイルにリダイレクトできます。

Linux の出力リダイレクト演算子は > (不等号記号、シェブロンとも呼ばれます) です。

たとえば、次の行を実行すると:

 cat rainbow.txt

rainbow.txtの内容が画面に出力されます。

ただし、実行すると

cat colors.txt > rainbow.txt

rainbow.txt の内容は画面には表示されません。代わりに、それらはリダイレクトされ、 colors.txt ファイルに書き込まれます。これは、あるファイルから別のファイルにコンテンツをコピーする優れた方法です。

Linux における出力リダイレクトのデフォルトの動作では、リダイレクト先のファイル内のすべてのコンテンツが上書きされます。たとえば、上記の例では、 rainbow.txt 内のすべてのコンテンツが、 colours.txt のコンテンツによって上書きされます。リダイレクト先のファイルに既存のコンテンツを保持し、そこに新しいコンテンツを追加するには、リダイレクト時に >> を使用します。

>> を使用して、 rainbows.txt の出力を color.txt にリダイレクトした後、 colors.txt には、 rainbows.txt で見つかった色が含まれるようになったことに注意してください。

2023-05-12-15-14-50 のスクリーンショット
2023-05-12-15-14-50 のスクリーンショット

cat コマンドの機能をさらに活用するには、リダイレクトと、ファイルが提供されていないときに標準入力から読み取るという cat コマンドのデフォルトの動作を組み合わせて、cat コマンドを使用してファイルを作成し、ファイルに書き込むことができます。

以下のコードを実行すると

cat > dark.txt

dark.txt にリダイレクトされます。コンテンツが dark.txt にリダイレクトされるファイルを提供していないため、cat コマンドはキーボードからの入力を期待します。

したがって、 dark.txt に保存したいテキストを入力し、 Enter キー を押して次の行に進み、完了したら CTRL + D キーを押して、入力した内容をリダイレクト先のファイルに保存します。

存在しないファイルにリダイレクトしているため、 dark.txt が 自動的に作成され、キーボードから入力した内容がファイルに保存されます。このようにして、cat コマンドを使用してファイルを作成し、作成時にファイルに書き込むことができます。

操作の出力を以下に示します。

2023-05-12-15-26-56 のスクリーンショット
2023-05-12-15-26-56 のスクリーンショット

cat を使用して、ファイルの末尾にテキストを追加することもできます。 dark.txt を使用すると、次のコマンドを実行してさらに色を追加できます。

 cat >> dark.txt

次に、以下に示すように、キーボードで入力し、CTRL + D を押して新しいコンテンツを保存し、 dark.txt に追加することで、追加情報を追加できます。

2023-05-12-15-37-42 のスクリーンショット
2023-05-12-15-37-42 のスクリーンショット

コマンドを使用して、複数のファイルを 1 つのファイルに連結することもできます。このような操作の構文を以下に示します。

 cat file1 file2 file3 > file4

file1、file2、file3 の内容は連結されて file4 に書き込まれます。 file4 の内容を上書きしたくない場合は、>> を使用することもできます。 file$ が存在しない場合は、自動的に作成されます。

この例を以下に示します。

color.txt と Primary.txt の内容を allColors.txt に書き込むには、次のコマンドを実行します。

 cat colors.txt primary.txt > allColors.txt 
2023-05-12-15-47-27 のスクリーンショット
2023-05-12-15-47-27 のスクリーンショット

cat コマンドを使用して、1 つまたは複数のファイルのコンテンツを別のファイルに追加することもできます。これは、出力をリダイレクトするときに >> を使用して行われます。これにより、他のファイルに既に保存されている内容の上書きが回避されます。たとえば、primary.txt の内容を color.txt に追加するには、以下のコードを実行します。

 cat primary.txt >> colors.txt

この操作の結果を以下に示します。

2023-05-12-15-54-16 のスクリーンショット
2023-05-12-15-54-16 のスクリーンショット

結論

cat コマンドは、ファイルの内容を連結して表示できる非常に便利な Linux コマンドです。このコマンドには、動作を変更するために追加できる複数のフラグがあります。

リダイレクトにより、cat コマンドの機能が大幅に拡張され、ユーザーがファイルを作成およびコピーしたり、複数のファイルを 1 つのファイルに連結したり、既存のファイルに追加したりできるようになります。 cat コマンドの詳細については、man ページを参照してください。

システム管理者向けの Linux コマンドをいくつか調べることもできます。

「 Linux Cat コマンドの使用方法 (例付き)」についてわかりやすく解説!絶対に観るべきベスト2動画

【Linuxコマンド】catコマンドとは?
【初心者卒業!】 Linuxの基本はこれ一本でOK! 【Linuxまとめ】