ウェブサイト検索

Linuxにおけるcatコマンドの例


Linuxにおけるcatコマンドは、Linuxシステム上のテキストファイルの内容を表示するための主要なツールです。Linuxシステムを使用または管理する際には、通常、コマンドラインに直面します。ディレクトリをナビゲートしたり、ファイルを編集するためのマウスやウィンドウなどのグラフィカルな補助機能はありません。

すべてのLinuxシステムは、多くの異なる設定ファイルで構成されています。これらのファイルを編集または作成することで、管理者はシステム内で利用可能なさまざまなサービスの動作を変更しています。テキストファイルに出会う別の状況はログファイルです。ログファイルは、システム上で実行されているサービスによって生成されます。ログファイルに保存された情報は、管理者がトラブルシューティングや実行中のサービスの最適化を行うのに役立ちます。

Linuxのログファイルや設定ファイルについて話している場合、それらはすべて単純なASCIIテキストファイルです。したがって、そのようなテキストファイルの内容を読むスキルは非常に重要です。このガイドでは、Linux上でテキストファイルを表示するためにcatコマンドを使用する方法を例を通して紹介します。また、このコマンドを効果的に使用するために必要なすべての知識を手に入れるために、最も頻繁に使用されるオプションについても説明します。

このチュートリアルでは、あなたは学びます:

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

よく使われるオプション

cat コマンドは、ファイルを連結してその内容を標準出力に印刷することによって動作します。下のいくつかの例を確認して、どのように機能するかを見てみてください。

Linuxにおけるcatコマンドの基本例

  1. 通常、cat コマンドに追加のオプションを指定することはありません。表示したいファイルの名前を指定するだけで、その内容がターミナルに印刷されます。

    cat file.txt
    
  2. 複数のファイルを表示したい場合は、コマンドに複数のファイル名を指定できます。それらの内容は連結されて標準出力に送信されます。

    cat file1.txt file2.txt
    
  3. 連結は、リダイレクションを使用してその使い方を拡張することもできます。たとえば、file1 と file2 の両方の内容を含む新しいファイル file3 を作成したいとします。この場合、cat コマンドを使用して両方のファイルの内容を連結し、次に > 演算子を使用して標準出力を file3 というファイルにリダイレクトします。

    cat file1 file2 > file3
    

    このコマンドを実行した後、画面には何も出力されません。これは、catコマンドの出力をfile3という別のファイルにリダイレクトするために>演算子を使用したため、完全に正常です。今、catコマンドでfile3の内容を読み取ろうとすると、出力にはfile1とfile2の結合された内容が含まれるはずです:

    cat file3
    This is content from file1
    This is content from file2
    
  4. 出力をリダイレクトする前に file3 を作成することは重要ではありません。もし file3 が存在する場合は上書きされ、存在しない場合は作成されます。

  5. catの便利なオプションの一つは-nで、これは出力に行番号を作成します。

    cat -n file3
         1	This is content from file1
         2	This is content from file2
    
  6. もう一つ便利なオプションは -s で、これは繰り返される空行の出力を抑制します。空行は通常、出力においてあまり役に立たないため、これにより内容がずっと簡潔になります。

    cat file
    Start of file
    
    
    
    
    End  of file
    

    そして今、-sオプションを使った同じファイルです。

    cat -s file
    Start of file
    
    End  of file
    

高度な使用法

catコマンドは、実際にはそれほど高度ではありません。上記の例で見たように、実際にはかなりシンプルなコマンドです。しかし、Linuxの任意のコマンドと同様に、他のコマンドやパイプと連結させて、追加の複雑さを作ることができます。catは新しいファイルを作成するためにも使用できます。これもそれほど高度ではありませんが、少なくとも一般的ではなく、あなたが知っておくべきcatの最も高度な使い方だと思います。

Linuxにおけるcatコマンドの高度な例

  1. もう一つのアプローチは、catコマンドの連結出力を、|(パイプ)演算子の組み合わせで使用することです。パイプ演算子は、あるコマンドの出力を他のコマンドへの入力としてリダイレクトするために使用できます。次の例では、sortコマンドを使用し、データをアルファベット順に並べ替えます。

    cat file1 file2 | sort
    
  2. cat コマンドに引数が含まれていない場合、キーボードからの入力を待ちます。cat コマンドに引数がない状態で実行しようとすると、cat はキーボードからの入力を待ち続け、CTRL+D キーの組み合わせにより生成された終了ファイル (EOF) シグナルを受信するまで待機します。キーボードからの入力を行うと、cat コマンドは単に入力を繰り返し、画面に表示します。

    cat
    keyboard input
    keyboard input
    
  3. このキーボード入力は、> 演算子を使用して直接ファイルにリダイレクトできます。次の例がこのアイデアを示しています:

    cat > file
    Some example text
    
    cat file
    Some example text
    
  4. 「いくつかの例文」行を入力した後、ENTERキーが押されて新しい行文字が生成され、その後にCTRL+Dが押されてファイルの終わりの信号が生成されました。catコマンドでfileの内容を読むことで、キーボードからの入力が間違いなくファイルにリダイレクトされたことが確認されます。

  5. 上記に述べたように、> 演算子はファイルの内容を上書きします。新しい行を追加するには、>> 追加演算子を使用する必要があります。次の例を考えてみてください:

    cat file
    Some example text
    cat >> file
    Some more example text
    cat file
    Some example text
    Some more example text
    
  6. 新しい行を挿入する手順は、>>の追加演算子を使用する点で、前の例とまったく同じです。唯一の違いは、>>が既存のEOF文字の後に新しい行を追加することです。

締めくくりの考え

このガイドでは、Linuxでのcatコマンドの使い方を見てきました。これにはよく使われるオプションや高度な使用法が含まれています。catは、すべての種類のテキストファイルを表示できるため、Linuxで習得すべき重要なコマンドですが、出会う中で最もシンプルなコマンドの一つでもあります。このガイドを読んだ後、あなたはこのコマンドに関する必要な知識をすべて持っているはずです。

関連記事: