Macで使うtailコマンドの基本と便利な使い方|ログ監視にも最適!

Mac

Macのターミナルには、システムの状態やログの中身をかんたんにチェックできるコマンドがたくさんあります。

その中でも「tail(テイル)コマンド」は、ファイルの最後の部分を表示するのにとても便利なツールです。

この記事では、Macのターミナルをはじめて使う人に向けて、tailコマンドの基本的な使い方から、リアルタイム監視に役立つ機能まで、やさしく説明します。

スポンサーリンク

tailコマンドってなに?

どんなコマンドなの?

tailは、テキストファイルの「最後の数行」を表示するためのコマンドです。

ログファイルや出力ファイルの変化を見るときによく使われます。

「tail」は英語で「しっぽ」という意味で、ファイルの「しっぽ(最後の部分)」を見るからこの名前が付いています。

実際に使ってみよう

tail system.log

このコマンドを実行すると、system.logファイルの最後の10行が表示されます。

実行例

$ tail system.log
2025-06-06 10:30:15 システム開始
2025-06-06 10:30:16 ログイン成功: user1
2025-06-06 10:30:20 ファイル作成: document.txt
2025-06-06 10:30:25 ネットワーク接続確認
2025-06-06 10:30:30 メモリ使用量: 45%
2025-06-06 10:30:35 CPU使用量: 12%
2025-06-06 10:30:40 ディスク使用量: 67%
2025-06-06 10:30:45 バックアップ完了
2025-06-06 10:30:50 システム正常
2025-06-06 10:30:55 次回チェック予定: 11:00

tailコマンドの役割は「最後の部分を確認すること」です。次は、その基本的な使い方をさらに詳しく見ていきましょう。

tailコマンドの基本的な使い方

行数を指定して表示する

普通は最後の10行が表示されますが、表示する行数を自分で決めることができます。

tail -n 20 filename.log

この例では、filename.logの最後の20行を表示します。

使用例

# 最後の5行だけ見たい場合
tail -n 5 access.log

# 最後の50行を見たい場合
tail -n 50 error.log

複数のファイルを同時に確認する

一度に複数のログファイルの最後を見ることもできます。

tail -n 10 file1.log file2.log

実行例

$ tail -n 3 app.log error.log
==> app.log <==
アプリ開始
ユーザーログイン
データ保存完了

==> error.log <==
警告: メモリ不足
エラー: 接続失敗
復旧完了

ファイルが見つからないときはどうなる?

存在しないファイルを指定すると、エラーメッセージが表示されます。

$ tail nofile.log
tail: cannot open 'nofile.log' for reading: No such file or directory

このエラーが出たら、ファイル名が正しいか、ファイルが本当に存在するかを確認しましょう。

tailコマンドは行数の指定や複数ファイルへの対応も可能です。次は、リアルタイム監視に役立つ「-fオプション」を紹介します。

リアルタイムでファイルの更新を監視する方法

tail -f:ファイルの更新をリアルタイムで表示

-fオプションを使うと、ファイルに新しい内容が追加されるたびに、すぐに画面に表示されます。

tail -f access.log

この例では、access.logの最後に新しい行が追加されるたびに、即座に表示されます。

どんなときに便利?

  • Webサイトのアクセスログ監視
  • アプリのエラーログ確認
  • システムの動作確認

実際の使用例

$ tail -f app.log
2025-06-06 14:30:00 アプリ開始
2025-06-06 14:30:05 ユーザーA ログイン
2025-06-06 14:30:10 ファイルアップロード
# ここで新しいログが追加されると、すぐに表示される
2025-06-06 14:30:15 ユーザーB ログイン  ← 新しく追加された行
2025-06-06 14:30:20 データベース更新    ← 新しく追加された行

監視を止める方法

リアルタイム監視を止めたいときは、Ctrl + Cを押します。

tail -F:ファイルの削除や再作成にも対応

-Fオプションを使うと、ログファイルが削除されて新しく作られても、監視を続けることができます。

tail -F access.log

なぜこれが便利? システムによっては、ログファイルが一定のサイズになると古いファイルを削除して新しいファイルを作ることがあります。-Fを使えば、そんな場合でも監視が途切れません。

リアルタイム監視には-f、より安定的に監視したいなら-Fを使いましょう。次は、他のコマンドとの組み合わせ方を紹介します。

他のコマンドと組み合わせてさらに便利に

grepと一緒に使う(特定のキーワードだけ表示)

grepコマンドと組み合わせることで、特定の文字列が含まれる行だけを表示できます。

tail -f access.log | grep "404"

この例では、エラー404のアクセスだけをリアルタイムに表示します。

他の使用例

# エラーという文字が含まれる行だけを表示
tail -f app.log | grep "エラー"

# 特定のユーザーのアクセスだけを表示
tail -f access.log | grep "user123"

# 警告レベルのログだけを表示
tail -f system.log | grep "WARNING"

awkと組み合わせて必要な部分だけ表示

awkコマンドを使うと、ログの特定の部分だけを取り出して表示できます。

tail -n 10 access.log | awk '{print $1, $9}'

この例では、アクセス元のIPアドレスとステータスコードだけを表示します。

実行例

$ tail -n 3 access.log | awk '{print $1, $9}'
192.168.1.100 200
192.168.1.101 404
192.168.1.102 200

lessと組み合わせてスクロール表示

lessコマンドと組み合わせると、たくさんの行を読みやすくスクロール表示できます。

tail -n 100 log.txt | less

この例では、100行を取得してからスクロール可能な表示にします。

lessの便利な操作

  • スペースキー:次のページ
  • bキー:前のページ
  • qキー:終了

tailは他のコマンドとの組み合わせでより強力になります。使い方を組み合わせることで、ログ分析がとても快適になります。

実際のログファイルの場所

Macでよく使われるログファイルの場所

Macでは、システムのログファイルがいくつかの場所に保存されています。

システムログ

# システム全体のログ
tail -f /var/log/system.log

# カーネル(システムの中心部分)のログ  
tail -f /var/log/kernel.log

# メールのログ
tail -f /var/log/mail.log

アプリケーションログ

# Webサーバー(Apache)のログ
tail -f /var/log/apache2/access.log
tail -f /var/log/apache2/error.log

# データベース(MySQL)のログ
tail -f /var/log/mysql/error.log

ログファイルを探す方法

どこにログファイルがあるかわからないときは、以下のコマンドで探せます。

# logという名前のファイルを探す
find /var/log -name "*.log" 2>/dev/null

# 最近更新されたログファイルを表示
ls -lt /var/log/

よくある使用例とトラブルシューティング

よくある使用パターン

Webサイトの監視

# アクセス数を確認
tail -f /var/log/apache2/access.log

# エラーだけを監視  
tail -f /var/log/apache2/error.log | grep "ERROR"

# 特定のIPからのアクセスを監視
tail -f /var/log/apache2/access.log | grep "192.168.1.100"

アプリケーションの動作確認

# アプリのログを監視
tail -f /path/to/app.log

# エラーレベルだけを表示
tail -f /path/to/app.log | grep -E "(ERROR|FATAL)"

# 最近のエラーを確認
tail -n 50 /path/to/app.log | grep "ERROR"

よくある問題と解決方法

問題1:権限がなくてファイルが読めない

$ tail /var/log/system.log
tail: cannot open '/var/log/system.log' for reading: Permission denied

解決方法

# sudoを使って管理者権限で実行
sudo tail /var/log/system.log

問題2:ファイルが大きすぎて表示が遅い 大きなファイルでは、行数を制限して表示を早くしましょう。

# 最後の10行だけ表示(デフォルト)
tail /path/to/large.log

# 最後の5行だけ表示
tail -n 5 /path/to/large.log

問題3:文字化けして読めない ログファイルの文字コードが違う場合があります。

# 文字コードを確認
file /path/to/log.txt

# 文字コードを変換して表示
tail /path/to/log.txt | iconv -f shift_jis -t utf-8

まとめ

Macのtailコマンドは、ログの最後の部分確認やリアルタイム監視に最適なツールです。難しい設定なしで使えるので、初心者にも扱いやすいのが魅力です。

この記事で学んだポイント

  • tailはファイルの最後の行を表示するコマンド
  • -nで表示行数指定、-fでリアルタイム監視ができる
  • grepawkと組み合わせればさらに便利
  • システムログやアプリケーションログの監視に活用できる
  • 権限や文字化けの問題にも対処方法がある

特にシステム開発や運用をはじめたばかりの人にとって、tailは覚えておくべき必須コマンドです。まず

コメント

タイトルとURLをコピーしました