LinuxのTailは、ファイルコンテンツの最後の部分を表示するコマンドラインユーティリティです。これを1つ以上のLinuxコマンドと組み合わせて、標準出力を生成することもできます。
tailコマンドの基本機能により、ログファイルの監視と1つ以上のファイルのリアルタイム更新が容易になります。特定の基準に基づいてファイルを並べ替えたり削除したりするなど、他のコマンドと組み合わせると、その使用法が拡大します。
この記事では、実際の例を通じて、tailコマンドがどのように機能するかとその実際のアプリケーションについて説明します。また、ファイル管理を改善するために他のコマンドと一緒に使用する方法も学習します。
Linuxのtailコマンドは、UNIX哲学に準拠したGNUCoreutilsの一部です。その主な目的は、標準入力を介してファイルの最後の部分を表示することです。ユーザーは、構文で数を指定することにより、表示される行数をカスタマイズできます。
基本的なテールコマンドは次のようになります。
tail [file_name]
このコマンドはいくつかのオプションをとることができ、それぞれが異なる目的を果たします。以下は、最も一般的なコマンドオプションとその機能の一部です。
- -c(–bytes) ‒データの最後のバイト数を出力します。
- -n(–lines) ‒表示される行数を制限します。
- -f(–follow) ‒ファイルの変更を監視します。
- -v(–verbose) ‒データの前にファイル名を出力します。
- -q(–quiet、–silent) ‒データを印刷する前にファイル名を省略します。
- -バージョン ‒テールバージョン情報を表示します。
重要! Linuxコマンドの構文では大文字と小文字が区別されることに注意してください。
Linuxでテールコマンドを使用する方法
Linuxのtailコマンドがどのように機能するかがわかったので、いくつかのコマンドオプションと実際のアプリケーションを使用してその使用法を調べます。
上記のように、tailコマンドはデフォルトでファイルの最後の10行を表示します。指定した行数を表示するには、 -nとペアにする必要があります オプション。
tail -n [number_of_lines] [file_name]
行コマンドオプションを使用してファイルの最後の2行を出力する方法の例を次に示します。
tail -n 2 mynote.txt
-cを使用する オプションを使用すると、指定したファイルの最後のバイト数を表示できます。 1文字が1バイトに等しいASCII文字セットを含む通常サイズのファイルをターゲットにする場合に役立ちます。
tail -c [number_of_bytes] [file_name]
次の例では、 mynote.txtの最後の50バイトを出力します ファイル:
tail -c 50 mynote.txt
必要に応じてデータを並べ替えるためのコマンドとtailコマンドのさまざまな組み合わせがあります。
たとえば、list(ls)コマンドと-tおよび-lオプションを組み合わせると、変更時刻が最も古いファイルまたはディレクトリを一覧表示できます。 -nオプションを使用して、表示する行数を指定します。
ls -tl | tail -n [number_of_lines]
tailコマンドをsortコマンドおよび-Mオプションと一致させると、作成月に基づいてlsコマンドからの出力が昇順で並べ替えられます。
ls -tl | sort -M | tail -n [number_of_lines]
出力を逆の順序で並べ替えるには、-rオプションを指定してtailコマンドを使用します。
tail -n [number_of_lines] [file_name] | sort -r
tail -fオプションを使用すると、ファイルの最後の10行を表示できます。このコマンドは、同じファイルに新しいデータが追加されたときに更新されるため、このオプションはログファイルをリアルタイムで追跡するのに役立ちます。
元のファイルが変更された場合、ヘッダーには変更された行が表示されます。
tail -f [file_name]
前の例は、単一のファイルに対してtailコマンドを使用する方法を示しています。複数のファイルから同時にデータを出力する場合は、コマンドラインにすべてのファイル名を次のようにリストします。
tail [option] [file_name_1] [file_name_2] [file_name_3]
tailコマンドを実行すると、ヘッダー行に各ファイル名が表示されます。このアクションは、複数のファイルを表示する場合に適用されます。 -qオプションを使用して、このヘッダーを省略してクワイエットモードを有効にします。
tail -q [file_name]
tailコマンドと同様に、LinuxのheadコマンドもGNUコアユーティリティパッケージのメンバーであり、結果を標準出力に書き込みます。唯一の違いは、headコマンドが1つまたは複数のファイルの最初の行を出力することです。
ヘッドコマンドとテールコマンドを組み合わせると、ファイルから特定のセクションを出力できます。まず、headコマンドを使用して、ファイルから最初の行を抽出します。次に、データを入力としてtailコマンドにパイプします。これにより、その特定のセクションの最後の行が表示されます。
次の例は、headコマンドとtailコマンドを同時に使用して、mynote.txtテキストファイルの最初の20行の最後の10行を表示する方法を示しています。
head -n 20 mynote.txt | tail -10
指定した行番号から始まるセクションを抽出するには、-n値に負の符号を追加します。 5行目から行を出力する方法は次のとおりです。
head -n -5 mynote.txt | tail -10
Linuxのtailコマンドは、ファイル管理を改善する便利なコマンドラインユーティリティです。 Tailは、単一または複数のテキストファイルからファイルコンテンツの最後の行を印刷します。これは、ログファイルの監視やファイルおよびディレクトリの更新に役立ちます。
tailコマンドのしくみと、それを使用するさまざまな方法を学びました。さまざまな目的で他のLinuxコマンドと連携する構文と例の組み合わせを提供しました。
この記事が、UNIXベースのオペレーティングシステムでのファイル管理のためのLinuxtailコマンドの使用法をよりよく理解するのに役立つことを願っています。頑張ってください。
どのようにテールコマンドをgrepしますか?
tailコマンドでgrepを使用するには、ラインバッファリングモードをオンにする必要があります。そうすることで、プロセスは遅延を減らしながら一致するパターンの検索を再開できます。
次の構文は、grepの行バッファリングモードをオンにしながら、ファイルの最後の10行を抽出します。
tail -f [file_name] | grep --line-buffered [pattern]
Linuxでテールコマンドから抜け出すにはどうすればよいですか?
tailコマンドを実行して、他のフォルダーに移動したい場合があります。プロセスを停止してターミナルウィンドウを復元するには、Ctrl+Cを押します。
このキーの組み合わせは、プロセスに終了シグナル(SIGINT)を送信し、進行中のプロセスを中断してから終了します。
このシナリオでもSIGKILL終了シグナルは機能しますが、使用しないことをお勧めします。 SIGKILLは、無視またはブロックできないシグナルを送信して、プロセスをただちに終了します。 SIGINTはプロセスをより適切に処理し、システムが適切な順序でプロセスを終了できるようにします。