「ファイルの中身を見たいけど、どのコマンドを使えばいいの?」
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 の操作キー
| キー | 動作 |
|---|---|
| スペース / f | 次のページへ |
| b | 前のページへ |
| ↑ / ↓ | 1行ずつ移動 |
| /キーワード | キーワードを検索(n で次の一致へ) |
| G | ファイルの末尾へジャンプ |
| g | ファイルの先頭へジャンプ |
| q | 終了 |
head / tail ― ファイルの先頭・末尾を表示する
headはファイルの先頭、tailはファイルの末尾を表示するコマンドです。デフォルトでは10行表示されます。
# 先頭5行を表示
$ head -5 /etc/passwd
# 末尾20行を表示
$ tail -20 /var/log/syslog
# リアルタイムでログを監視(Ctrl+Cで終了)
$ tail -f /var/log/syslog
tail -f はサーバーのログをリアルタイムで監視するときに非常に便利です。エラーが起きたときの定番コマンドとして覚えておきましょう。
grep ― ファイルから特定の文字列を検索する
grepは「Global Regular Expression Print」の略で、ファイルから指定した文字列を含む行を抽出するコマンドです。ログ解析や設定ファイルの確認で毎日使う最重要コマンドの一つです。
# 基本的な使い方
$ grep "error" /var/log/syslog
# 検索結果の例
Mar 14 12:00:01 server sshd[1234]: error: Connection refused
grep のよく使うオプション

# 大文字小文字を区別しない
$ 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:短いファイルを一気に表示。行番号は
-n - less:長いファイルをスクロール表示。
qで終了・/で検索 - head / tail:先頭・末尾のN行を表示。
tail -fでリアルタイム監視 - grep:文字列を検索。
-i(大文字小文字無視)・-r(再帰)・-n(行番号)が定番 - パイプ(|):コマンドをつないで複雑な処理を実現
関連記事
▶ 関連記事:パイプとリダイレクトでコマンドを組み合わせる
▶ ログファイルの見方と管理【journalctl/logrotate】
📋 Linux入門チートシート完全版で全コマンドを一気に復習できます。



コメント