ウェブサイト検索

Bashでcatコマンドを使用する方法


catコマンドはLinuxオペレーティングシステムで使用されます。それは複数のファイルの内容を連結し、任意のファイルの内容を記述または印刷するために使用される連結(concatenation)という単語に由来しています。これはLinuxで最も便利なコマンドです。インストールを必要としないのは、Linuxオペレーティングシステムによって提供される組み込みユーティリティであるためです。必要に応じてファイルに対して複数の操作を実行するためのさまざまなオプションを提供します。

構文 :

次のようにcatコマンドを使用するための構文です:

linux@linux-Virtualbox:~$ cat [option] [file]

構文では、catコマンドと一緒に2つの引数を渡していることがわかります。最初の引数は「オプション」で、ユーザーが実行したい追加の指示で、例えば「-S」があります。これは、多くの空行を1つの空行に置き換えます。他にも多くのフラグを使用することができます。渡す2番目の引数は、表示または作成されるファイルの名前です。

例 :

この例では、まず新しいファイルを作成します。そして、catコマンドを使用して、内容の印刷や結合など、いくつかの操作を行います。まずいくつかのファイルを作成しましょう。それを行うために、まず新しいディレクトリを作成します。ファイルを作成するために新しいディレクトリを作成する必要はありません。システム内のどこにでもファイルを作成できます。新しいディレクトリを作成するには、次のようにファイル名とともに「mkdir」コマンドを実行します。

linux@linux-Virtualbox:~$ mkdir cat_files

提供されたコマンドを実行した後、私たちのホームディレクトリに「cat_files」という名前の新しいディレクトリを作成します。出力は表示されません。ディレクトリが作成されたかどうかを確認するためには、コマンドを実行するか、手動でホームディレクトリを確認する必要があります。コマンドと一緒にパスを指定しない場合、次のスニペットに示すように、ファイルは自動的にホームディレクトリに作成されます。

今、“cat_files” ディレクトリに “cd” コマンドを使って移動し、“cat_Files” ディレクトリの中にテキストファイルを作成します。

linux@linux-Virtualbox:~$ cd cat_files

前のコマンドを実行すると、ターミナルは次の図のように表示され、実行されたすべてのアクションが「cat_files」ディレクトリ内で行われたことを示します。

では、touchコマンドを使用していくつかのファイルを作成しましょう:

linux@linux-Virtualbox:~/cat_files$ touch myfile.txt

「cat_files」ディレクトリに「myfile.txt」という名前の新しいファイルを作成します。内容を追加できますが、今回は空にしてこのプロセスを繰り返します。「myfile1.txt」と「myfile2.txt」という名前のファイルを2つ追加で作成します。以下のスニペットに私たちのファイルが作成されたのが見えます:

さて、catコマンドを使用して、私たちの「myfile.txt」ファイルにいくつかの内容を書き込みます。

linux@linux-Virtualbox:~/cat_files$ cat > myfile.txt

前のコマンドを実行した後、出力を表示せずに端末をあなたに引き渡し、ファイルに追加したい内容を入力することができます。ファイルに内容を追加することができます。私たちの場合、以下のスニペットに示すようにcatコマンドの定義を追加します:

現在、テキストファイルに内容が追加されたかどうかを手動で確認できます。次の図に示すように、ファイルの内容が正常に追加されています。

さて、ターミナルでcatコマンドを使ってファイルの内容を表示します。そのために、以下のコマンドを実行します:

linux@linux-Virtualbox:~/cat_files$ cat myfile.txt

ファイルの内容を表示するために、前のコマンドをそのまま実行します。以下のスクリーンショットに示されているように、以前追加したファイルの内容がターミナルに表示されます:

今、1つのファイルの内容を別のファイルにコピーします。「myfile.txt」ファイルにすでに内容を追加したので、先に作成した「myfile1.txt」という名前の別のファイルにその内容をコピーします。そのために、次のコマンドを実行します:

linux@linux-Virtualbox:~/cat_files$ cat myfile.txt>>myfile1.txt

大なり記号 “>> ” の前の最初のファイルは、内容がコピーされるファイル名です。大なり記号 “>> ” の後のファイル名は、内容が印刷されるファイル名です。

前のコマンドを実行した後、以下のコマンドを使用して「myfile1.txt」に内容がコピーされているかどうかを確認します:

linux@linux-Virtualbox:~/cat_files$ cat myfile1.txt

コマンドを実行した後、ファイルの内容が以下のように端末に表示されます:

これと同様に、次のコマンドを実行することで、ファイルの内容とファイルに書き込まれている行数を印刷することもできます:

linux@linux-Virtualbox:~/cat_files$ cat –n myfile1.txt

前述のコマンドを実行すると、内容と行数が表示されます。「-n」キーワードをファイル名と一緒に渡すことで、行数を印刷することができます。出力は私たちのターミナルに次のように表示されます。

第三のファイル「myfile2.txt」に何らかの内容があるとしましょう。そして、このファイルの内容を他のファイルに追加したいとします。このアクションを実行するために、次のラベル付きコマンドを使用します:

linux@linux-Virtualbox:~/cat_files$ cat myfile2.txt>>myfile1.txt

前のコマンドを実行することによって、“myfile2.txt”ファイルからコピーされた内容を“myfile1.txt”に追加します。もう一つ覚えておくべきことは、これはすでにファイルに書かれている内容を置き換えるのではなく、その後に新しくコピーされた内容を追加するということです。さて、ファイルの内容が追加されたかどうかを確認するために、catコマンドを実行してターミナルにファイルの内容を表示します。

linux@linux-Virtualbox:~/cat_files$ cat myfile1.txt

前のコマンドを実行した後、内容が正常に追加されたことを示す表示出力が以下のように得られます。

結論

この記事では、Linuxが提供するcatコマンド、その重要性、そしてその使い方について説明しました。このコマンドを紹介した後、さまざまなファイルに対して「cat」コマンドを使用していくつかの操作を行い、新しいファイルを作成し、それらに対して多くの他の操作を行いました。