Linux の cat コマンド:ファイルの連結

LinuxLinuxBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このチュートリアルでは、Linux の cat コマンドを紹介します。これは、テキストファイルを表示および操作するための多用途なツールです。cat を使用してファイルの内容を表示し、ファイルを結合し、さまざまなオプションを利用してファイルの表示を向上させる方法を学びます。このチュートリアルが終了するとき、基本的なファイル操作に cat を使いこなせるようになります。これは、Linux ユーザーにとって欠かせないスキルです。

あるテックスタートアップの新入社員として、会社の Linux サーバーに散らばったさまざまなテキストファイルから日報を作成する最初のタスクがあります。ファイルの内容を表示し、ファイルを結合し、出力をフォーマットする必要があります。このタスクの主なツールは cat コマンドになります。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/InputandOutputRedirectionGroup(["Input and Output Redirection"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/FileandDirectoryManagementGroup -.-> linux/pwd("Directory Displaying") linux/InputandOutputRedirectionGroup -.-> linux/redirect("I/O Redirecting") subgraph Lab Skills linux/ls -.-> lab-210986{{"Linux の cat コマンド:ファイルの連結"}} linux/cat -.-> lab-210986{{"Linux の cat コマンド:ファイルの連結"}} linux/pwd -.-> lab-210986{{"Linux の cat コマンド:ファイルの連結"}} linux/redirect -.-> lab-210986{{"Linux の cat コマンド:ファイルの連結"}} end

プロジェクトディレクトリの調査

まず、プロジェクトディレクトリの内容を調べてみましょう。

  1. ターミナルを開きます。通常、コマンドプロンプトが表示され、末尾に $ 記号が付きます。

  2. プロジェクトディレクトリに移動します。

cd /home/labex/project

このコマンドは、現在のディレクトリを /home/labex/project に変更します。cd コマンドは「ディレクトリを変更する」という意味です。

  1. 現在の場所を確認します。
pwd

pwd コマンドは「作業中のディレクトリを表示する」という意味です。/home/labex/project が表示されるはずです。

  1. ディレクトリの内容を一覧表示します。
ls

このコマンドにより、現在の場所にあるすべてのファイルとディレクトリが表示されます。daily_report.txtsales.txtmarketing.txt などのいくつかのテキストファイルが一覧表示されるはずです。

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

次に、cat コマンドを使ってファイルの内容を表示しましょう。cat コマンドは「連結する(concatenate)」の略ですが、通常は単にファイルの内容を表示するために使用されます。

  1. daily_report.txt ファイルの内容を表示します。
cat daily_report.txt

このコマンドにより、ファイルのすべての内容がターミナルに表示されます。ファイルが長い場合、ターミナルウィンドウの表示領域を超えてスクロールする場合があります。

  1. ファイルの先頭が見えない場合は、ターミナル画面をクリアして新しく始めます。
clear

clear コマンドは必ずしも必要ありませんが、作業スペースを整理するのに役立ちます。今は完全に理解する必要はありません。次のレッスンでターミナル管理についてもっと学びます。

  1. 今度はもう一度ファイルの内容を表示します。
cat daily_report.txt

内容を読む時間を取りましょう。これが cat コマンドの力です。これにより、ターミナル内で直接テキストファイルの内容を迅速に表示できます。

複数のファイルを結合する

cat コマンドは、複数のファイルを結合するためにも使用できます。これが、その名前の「連結する(concatenate)」部分の由来です。

  1. まず、sales.txtmarketing.txt のそれぞれの内容を個別に表示しましょう。
cat sales.txt
cat marketing.txt

各ファイルの内容をメモしておきましょう。

  1. 次に、これらのファイルを結合しましょう。
cat sales.txt marketing.txt

このコマンドは、2つのファイルの内容を1つのファイルのように1つの後に1つ表示します。cat が指定した順序で各ファイルの内容を単に出力する方法に注目してください。

  1. ここで、「出力リダイレクト」と呼ばれる新しい概念を紹介します。Linuxでは、コマンドの出力(通常はターミナルに表示されるもの)を代わりにファイルに送信することができます。これは、> 記号を使用して行います。その仕組みは次の通りです。
cat sales.txt marketing.txt > combined_report.txt

これを分解してみましょう。

  • cat sales.txt marketing.txt は、これまでに使用して2つのファイルの内容を表示するコマンドです。
  • > 記号が新しいものです。これは、Linuxに対して、ターミナルに表示されるはずのものを代わりにファイルに書き込むように指示します。
  • combined_report.txt は、作成する新しいファイルの名前です。

したがって、このコマンドは次のように言っています。「sales.txt と marketing.txt の結合された内容を表示する代わりに、combined_report.txt という新しいファイルに入れてください。」

これは、Linuxにおける強力な機能であり、コマンドの出力を後で使用するために保存できます。最初は少々混乱するかもしれませんが、心配しないでください。今後のレッスンでたくさん練習します。

  1. リダイレクトがうまくいったことを確認するために、新しいファイルの内容を確認しましょう。
cat combined_report.txt

この新しいファイルに、sales.txtmarketing.txt の両方の内容が表示されるはずです。表示された場合は、おめでとうございます! ファイルを結合するために出力リダイレクトを正常に使用しました。

行番号オプションの使用

cat コマンドには、出力を強化するためのオプションがあります。ここでは、行番号オプションを調べてみましょう。

  1. daily_report.txt の内容を行番号付きで表示します。
cat -n daily_report.txt

-n オプションは、cat に対してすべての出力行に番号を付けるように指示します。ファイル内の特定の行を参照する必要がある場合、これは非常に便利です。

  1. これを行番号なしの出力と比較してみましょう。
cat daily_report.txt

-n オプションが各行の先頭に番号を付加する方法に注目してください。これにより、ファイルの特定の部分を参照するのが容易になります。

行末文字の表示

もう一つの便利なオプションは、行末文字を表示することです。これは、行末や末尾の空白に関する問題を特定するのに役立ちます。

  1. 行末文字が表示された状態で daily_report.txt の内容を表示します。
cat -E daily_report.txt

-E オプションは、cat に対して各行の末尾に $ を表示するように指示します。これにより、各行の終わりがどこにあるかを容易に確認でき、フォーマットの問題を処理する際に特に便利です。

  1. これを通常の出力と比較してみましょう。
cat daily_report.txt

-E オプションが各行の末尾に $ を追加する方法に注目してください。これにより、行末が明示的になります。

まとめ

このチュートリアルでは、cat コマンドを使って様々なファイル操作を行う方法を学びました。

  • ファイルの内容を表示する
  • 複数のファイルを結合する
  • 行番号付き(-n)や行末表示(-E)などのオプションを使用する

これらのスキルは、Linux環境でのテキストファイルの管理と操作にとって非常に貴重です。Linuxの学習を続けるにつれて、汎用性の高い cat コマンドのさらに多くの用途を見つけるでしょう。

このチュートリアルでは扱わなかった追加の cat コマンドオプションには、以下のものがあります。

  • -A:すべての非表示文字を表示する(-vET と同等)
  • -b:非空白の出力行に番号を付ける
  • -s:繰り返される空の出力行を抑制する
  • -T:TAB文字を ^I として表示する
  • -v:LFDとTAB以外は、^ と M- 表記を使用する

参考資料