ウェブサイト検索

Linuxでcatコマンドを使用する方法(および使用しないべき時)


catは、おそらくLinuxで最初に学ぶコマンドの一つです。ここでは、Linuxでcatを使用する正しい方法と間違った方法を紹介します。

Linuxで使う最も基本的なコマンドの一つはcatです。最初は不思議に思えるかもしれませんが、実際には使い方は簡単です。

ここでは、Linuxでcatコマンドを使用する方法と、それを使うべきでない時について説明します。

猫とは何ですか?

catは、Unixの最初の実装にさかのぼる非常に古いユーティリティです。名前は奇妙に思えるかもしれませんが、「concatenate(連結)」の略です。これは、いくつかのものをくっつけるための専門用語です。この文脈での「もの」とはファイルを意味します。catは、いくつかのテキストファイルを一緒にくっつけるためのユーティリティです。ほとんどの人は、それを使ってファイルを画面に表示したり、別のファイルに出力したりします。

GNU実装は、ほとんどのLinuxディストリビューションにデフォルトでインストールされるcoreutilsパッケージの一部ですが、最小限のディストリビューションやライブディストリビューションで一般的なBusyBoxにもバージョンがあります。

標準入出力で猫を使用する

catは標準入力と標準出力で動作します。これは、キーボードまたは他のプログラムからのテキスト入力を受け入れ、I/Oリダイレクションを使用して出力を別のプログラムで使用できることを意味します。

cat | some_program

多くの他のLinuxコマンドも標準入出力を受け入れるため、パイプラインで実際にcatを使用する必要はないかもしれません。このことについては後で詳しく説明します。

コマンドラインから引数としてファイルを受け取ることもできます。次のようにして、ファイル全体を端末に出力できます:

cat file.txt

cat を使って複数のファイルを印刷することもできます:

cat file1 file2

これはcatの「連結」部分です。

自分自身によって呼び出されると、猫はあなたがテキストを入力してEnterキーを押すのを待ち、その後あなたが入力した内容をターミナルにエコーし続けます。Ctrl + Dを押すまで続きます。また、リダイレクションオペレーターを使用してテキストをファイルにリダイレクトすることもできます。

cat > some_file

無駄な猫の使い方

catは非常に基本的なユーティリティであるため、パイプラインでの使用に没頭しやすいです。Perlに関する著書で知られるランドール・シュワルツは、無駄なcatの使用(UUOC)「賞」を作成し(エラ・エリクソンのホームページで見ることができます)、時折Usenetで配布していました。

UUOCの主な資格は、標準入力またはファイルを引数として受け取るコマンドに出力をパイプするためにcatを使用することです。多くのUnixおよびLinuxコマンドがこれを行うため、標準出力または単一のファイルにcatを使用することは時間の無駄です。使用したいコマンドのマニュアルページを確認し、標準入力を受け入れることを確認してください。そうしないと、この賞を「獲得」してしまいます。

長いファイルを見ようとするなら、Mostのようなページャーかテキストエディタを使った方がいいです。

cat: 基本的だが不可欠なLinuxツール

catは基本的なコマンドかもしれませんが、多くの基本的なLinuxツールと同様に、テキストファイルを印刷したり、他のプログラムに出力を送信したりするのに便利です。ターミナルにもう少し色を加えたい場合は、ターミナルで虹色のテキストを生成するフィルターベースのプログラムであるlolcatを検討するかもしれません。

関連記事: