「ファイルの中身を見たいけど、どのコマンドを使えばいいの?」
Linuxでは、ファイルの内容を確認したり特定の文字列を検索したりするコマンドが複数あります。この記事では cat・less・head・tail・grep の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入門チートシート完全版で全コマンドを一気に復習できます。



コメント