ウェブサイト検索

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


Linuxのtailコマンドは、テキストファイルを見る際に必要な最も基本的なコマンドの一つです。コマンドラインの初心者にとって、tailコマンドは、対称的なヘッドコマンドとともに学ぶのに良いコマンドです。tailは、複数のファイルや指定したファイルの最後の10行を印刷するために使用されます。tailは興味深く便利な機能を持っており、ファイルに加えられた変更を監視するために使用できます。

特にtailが重要な理由は、システム管理やスクリプトなどの目的のためにその監視機能を使用できることです。その重要性にもかかわらず、tailは、このような一般的に使用される多くのコマンドと同様に、複雑なコマンドではありません。

tailは、ファイルの内容をリストするために使用できる多くの異なるオプションがあり、これまで説明してきたよりもさらに複雑になる可能性があります。これらのオプションのいくつかは非常に役立ちますが、tail単体でもすでに幅広い管理の状況をカバーしていると言えます。

GUIテキストエディタでファイルを見る方がはるかに簡単だと思うかもしれませんが、これは真実からかけ離れています。tailコマンドをマスターすれば、Linux初心者が考えるよりもずっと簡単かつ効率的に、さまざまな微妙なシナリオに対してファイルの内容を非常に特定の方法で表示することができます。

このガイドでは、例を通じてLinuxのtailコマンドの使い方を学びます。以下を読み進めて、このコマンドで使用できるさまざまなオプションについて学びましょう。

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

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

よく使われるオプション

tailコマンドは、特定のファイルの最後のx行を表示します。デフォルトでは、指定されたファイルの最後の10行を表示します。tailと一緒に使用できるオプションは、特定のニーズを満たすためにファイル内の内容を特定の方法で表示するためのものであり、便利で役立つ具体的な情報を提供します。これは、単にGUIテキストエディタを使って探し回るよりもずっと便利です。

Linuxの基本的な例におけるtailコマンド

  1. tail コマンドを他のオプションなしで単独で実行すると、現在の作業ディレクトリ内のファイルの最後の10行が表示されます。これは、端末が現在置かれているディレクトリを指す技術的な言い方です。

    tail cars.txt
    

  2. 上のスクリーンショットに見られるように、出力はファイルごとに数行をリストします。この出力は常に同じで、追加のオプションなしでtailを実行すると、ファイルの「尾」端に同じ10行が表示されます。ただし、tailのさまざまなオプションの1つを使用することで、この結果を変更できます。それについては次の例で説明します。

  3. このファイルには20種類の異なる自動車ブランドのリストが含まれていますが、余分なオプションなしでtailコマンドを実行すると、ファイルに存在する最後の10ブランドが印刷されることに注意してください。以下に示す便利なオプションを使用することで、tailコマンドがファイル内の特定の行数(たとえば15行)を表示する出力を生成するようにすることができます。この例では、それが自動車ブランドになります。

    tail -n 15 cars.txt
    OR
    tail -15 cars.txt
    

  4. 上のスクリーンショットに見られるように、tail の出力はファイルの最後の 15 行を示しています。これは -n オプションを使うか、コマンドの - 記号の後に数字を指定するだけで実行できます。

  5. 興味深くも同様にユニークな特性のあるtailコマンドは、前の例の-の代わりに+記号で書くこともできることです。その補完コマンドheadにはこの特性がありません。+記号を使ってコマンドを書き、指定した数を入れると、その数で指定した行からデータを表示することになります。

    tail +8 cars.txt
    

    tail コマンドは、行番号 8 から始まるファイルのすべての行を出力しました。

  6. これまで、tail コマンドを使用して単一ファイルのデータを表示できることを示しました。しかし、tail コマンドは、複数のファイルからデータを同時に出力することも可能です。-q オプションを使用することで、まさにそれを実現できます。

    tail -q cars.txt states.txt
    

  7. -q オプションを使用することで、tail コマンドは私たちの cars.txt ファイルと states.txt ファイルの最後の10行を出力することができました。デフォルトでは最後の10行を表示しますが、そのことはこの記事の前のセクションで説明しました。

  8. この記事の冒頭で述べたように、tail コマンドは、システム管理者が実行中のさまざまなプログラムのログファイルの変更を監視するためによく使用されます。tail コマンドは、オプションなしではこれを自力で行うことはできません。そこで、-f オプションが登場します。このオプションは、ほぼtailと同じように機能します。唯一の違いは、特定のファイルの最後の10行とともに、新しい行が追加されると更新されることです。

    tail -f apache.log
    

注意
常にmanコマンドを使用してtailコマンドおよびその公式ドキュメンテーションについてさらに読むことができます。前のリンクをクリックして、Linuxシステム上の任意のコマンドのマニュアルページを開く方法を確認してください。

高度な使用法

tailコマンドは非常にシンプルですが、この記事の例のセクションを通して観察したように、多くのオプションが詰まっています。これらのオプションの多くはあまり知られておらず、経験豊富なシステム管理者でさえも知らないかもしれません。しかし、さまざまな状況で確実に役立つことがあります。このガイドのこのセクションでは、便利だと思われるtailコマンドのあまり知られていないオプションのいくつかを紹介します。

Linuxのtailコマンドの高度な例

  1. -vオプションを使用して、データの前にファイル名を付けて特定のファイルからデータを表示します。

    tail -v cars.txt
    

  2. このオプションでは、上のスクリーンショットに示されているように、tail コマンドの -v オプションが cars.txt ファイルの最後の 10 行を印刷し、その前にファイル名が表示されました。

  3. tail コマンドは、パイプ | とともに使用できます。これは、tail コマンドが出力を生成し、その出力を他のコマンドと組み合わせてさまざまな目的で使用できることを意味します。たとえば、tail の後にパイプを追加することで、-r オプションを持つ sort コマンドを tail コマンドと一緒に使用できます。

    tail cars.txt | sort -r
    

  4. 上のスクリーンショットでは、tail コマンドが私たちの cars.txt ファイルの最後の 10 行を出力し、sort コマンドが -r オプションを使ってそれらの行を逆順にソートしたことがわかります。

  5. もう一つの方法として、tail コマンドを使用してテキストファイルから指定されたバイト数のデータを表示することができます。例えば、cars.txt ファイルを使用して、ファイル内のデータの最後の50バイトを表示するようにtail コマンドを設定しましょう。

    tail -c 50 cars.txt 
    

  6. 上記のスクリーンショットに見られるように、私たちのcars.txtファイルの最後の7つの車のブランドは、ファイル内でちょうど50バイトのデータを占めています。

締めくくりの考え

このガイドでは、コマンドラインでテキストファイルを頻繁に表示するユーザーや管理者が習得する必要のあるtailコマンドについてすべて学びました。特に、-fオプションを追加することで、進行中の変更があるログファイルの監視に役立ちます。

関連記事: