①Linux入門

ファイルの中身を見る・検索する方法【cat/less/grep】

①Linux入門
記事内に広告が含まれています。

「ファイルの中身を見たいけど、どのコマンドを使えばいいの?」

Linuxでは、ファイルの内容を確認したり特定の文字列を検索したりするコマンドが複数あります。この記事では catlessheadtailgrep の5つを場面別にわかりやすく解説します。実際に手を動かしながら読み進めてください。

ターミナルの基本操作がまだの方は「ターミナルの使い方と基本コマンド20選」をご覧ください。

5つのコマンド 使い分けの基本

まず全体像を整理しましょう。「どんな場面でどのコマンドを使うか」をフロー図で確認します。

cat ― ファイルの内容をまるごと表示する

catは「concatenate(連結する)」の略で、ファイルの内容を画面にそのまま出力するコマンドです。短いファイルを素早く確認するときに使います。

# 基本的な使い方
$ cat memo.txt
今日のタスク
・Linuxの勉強
・記事を書く

# 行番号を表示
$ cat -n memo.txt
     1  今日のタスク
     2  ・Linuxの勉強
     3  ・記事を書く

# 複数ファイルを連結して表示
$ cat file1.txt file2.txt

catのよくある使い方

  • 設定ファイルの中身をサッと確認する
  • cat file.txt > output.txt:ファイルの内容を別ファイルにコピー
  • cat file1.txt file2.txt > merged.txt:複数ファイルを1つに結合

less ― 長いファイルをスクロールして読む

lessは、大きなファイルをページ単位でスクロールしながら読めるコマンドです。ログファイルの確認など、長いテキストを読む場面で大活躍します。

$ less /var/log/syslog

less の操作キー

# 大文字小文字を区別しない
$ grep -i "Error" /var/log/syslog

# 行番号付きで表示
$ grep -n "error" app.log

# ディレクトリ内を再帰検索
$ grep -r "TODO" ./src/

# マッチしない行を表示(除外)
$ grep -v "debug" app.log

# 複数条件(errorまたはwarn)
$ grep -E "error|warn" app.log

パイプ(|)でコマンドをつなぐ

Linuxの真の力は、複数のコマンドを「パイプ(|)」でつなぐことで発揮されます。パイプは左のコマンドの出力を右のコマンドの入力として渡す仕組みです。

# ログからerrorを含む行の末尾20行を表示
$ cat /var/log/syslog | grep "error" | tail -20

# ファイル一覧からtxtファイルだけを表示
$ ls -la | grep ".txt"

# プロセス一覧からnginxを検索
$ ps aux | grep nginx

# エラー行数をカウント
$ cat app.log | grep "error" | wc -l

実践:ログファイルを調査してみよう

実際のサーバー運用でよく使うコマンドの組み合わせを紹介します。

# 1. まずログの末尾を確認
$ tail -50 /var/log/syslog

# 2. エラーだけを抽出して件数確認
$ grep -c "error" /var/log/syslog

# 3. 時刻付きでエラーを表示
$ grep -n "error" /var/log/syslog | tail -20

# 4. 特定の時間帯のエラーを検索
$ grep "Mar 14" /var/log/syslog | grep "error"

cat・less・head・tailの使い分け

コマンド特徴向いている用途
cat全内容を一気に表示短いファイルの確認
lessスクロールして閲覧(q で終了)長いファイルの閲覧
head先頭N行を表示(デフォルト10行)ファイルの先頭確認
tail末尾N行を表示ログの最新行確認
tail -fリアルタイムで末尾を追跡ログ監視

grepコマンド オプション早見表

オプション意味
-i大文字・小文字を区別しないgrep -i “error” log
-n行番号を表示するgrep -n “error” log
-vマッチしない行を表示grep -v “#” config
-rディレクトリを再帰的に検索grep -r “word” /etc/
-cマッチした行数を表示grep -c “error” log
-E拡張正規表現を使用grep -E “err|warn” log

まとめ:この記事で学んだこと

  • cat:短いファイルを一気に表示。行番号は -n
  • less:長いファイルをスクロール表示。q で終了・/ で検索
  • head / tail:先頭・末尾のN行を表示。tail -f でリアルタイム監視
  • grep:文字列を検索。-i(大文字小文字無視)・-r(再帰)・-n(行番号)が定番
  • パイプ(|):コマンドをつないで複雑な処理を実現

関連記事

関連記事:パイプとリダイレクトでコマンドを組み合わせる

ログファイルの見方と管理【journalctl/logrotate】

📋 Linux入門チートシート完全版で全コマンドを一気に復習できます。

コメント

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