本記事の構成および論理分析にはAI(人工知能)を使用しています。情報の正確性は、システム管理者(UNIXユーザー)による手動検証済みです。
【Linux入門】ファイルの中身を確認するコマンド5選|cat・less・grepの使い分け | UNIX Cafe

LinuxやMacのターミナルで作業していると、ファイルの中身を確認したい場面がよくあります。
たとえば、次のような場面です。
- 設定ファイルに何が書かれているか確認したい
- ログファイルの最新行だけ見たい
- CSVファイルの先頭行を確認したい
- 長いファイルを1画面ずつ読みたい
- ファイル内から
errorやwarningだけ探したい
このときに使う基本コマンドが、cat、less、head、tail、grep です。
この記事では、Linuxでファイルの中身を確認する基本コマンドを5つに絞って、使い方と使い分けを解説します。Macのターミナルでもほぼ同じように使えます。
まず結論:ファイルの中身を確認するコマンドの使い分け
最初に、どのコマンドをいつ使うかを整理しておきます。
| やりたいこと | 使うコマンド | 例 |
|---|---|---|
| 短いファイルを全部表示したい | cat | cat memo.txt |
| 長いファイルを1画面ずつ読みたい | less | less app.log |
| 先頭の数行だけ見たい | head | head -n 20 data.csv |
| 末尾の数行だけ見たい | tail | tail -n 50 app.log |
| 追記されるログをリアルタイムで見たい | tail -f | tail -f app.log |
| 特定の文字を含む行だけ探したい | grep | grep error app.log |
迷ったときは、次のように考えると判断しやすいです。
- 短いファイルなら
cat - 長いファイルなら
less - 先頭だけなら
head - 最後だけなら
tail - キーワード検索なら
grep
catコマンド:短いファイルの中身を一気に表示する
cat は、ファイルの中身をターミナルに表示する基本コマンドです。
cat ファイル名たとえば memo.txt の中身を表示するなら、次のように実行します。
cat memo.txt数行から数十行程度の短いファイルなら、cat が一番手軽です。
catが向いている場面
- 短いメモファイルを確認する
- 小さな設定ファイルを確認する
- シェルスクリプトの全体をざっと見る
- ファイル内容を別のコマンドへ渡す
たとえば、設定ファイルの中身を確認するだけなら、次のように使えます。
cat config.txtcatを長いファイルに使うと読みにくい
cat はファイル全体を一気に表示します。そのため、数百行、数千行あるログファイルに使うと、画面が一瞬で流れて読みにくくなります。
長いファイルを読みたいときは、cat ではなく less を使うのが基本です。
less app.loglessコマンド:長いファイルを1画面ずつ確認する
less は、長いファイルをページ送りしながら読むためのコマンドです。
less ファイル名たとえば、ログファイルを確認するなら次のように実行します。
less app.logless を使うと、ファイル全体を一気に表示するのではなく、1画面ずつスクロールして読めます。長いログ、ソースコード、大きめの設定ファイルを見るときに便利です。
lessの基本操作
less を開いた後は、キーボードで操作します。
| 操作 | 意味 |
|---|---|
Space | 次のページへ進む |
b | 前のページへ戻る |
j または ↓ | 1行下へ進む |
k または ↑ | 1行上へ戻る |
/キーワード | ファイル内を検索する |
n | 次の検索結果へ移動する |
N | 前の検索結果へ移動する |
q | lessを終了する |
初心者がよく困るのは、less の終了方法です。終了したいときは q を押します。
lessでファイル内検索をする
less では、ファイルを開いたまま検索できます。
less app.log開いた後に、次のように入力します。
/errorこれで、ファイル内の error という文字を検索できます。次の一致箇所へ進むには n、前の一致箇所へ戻るには N を押します。
catとlessの違い
cat と less の違いは、表示方法です。
| コマンド | 表示方法 | 向いているファイル |
|---|---|---|
cat | 全部を一気に表示 | 短いファイル |
less | 1画面ずつ表示 | 長いファイル |
「ファイルが短いなら cat、長いなら less」と覚えておくと実務でも迷いません。
headコマンド:ファイルの先頭だけ確認する
head は、ファイルの先頭部分だけを表示するコマンドです。
head ファイル名何も指定しない場合、一般的には先頭10行が表示されます。
head data.csvCSVファイルやログファイルで、「最初の数行だけ確認したい」というときに便利です。
表示する行数を指定する
表示する行数は -n オプションで指定できます。
head -n 20 data.csvこの例では、data.csv の先頭20行を表示します。
headが向いている場面
- CSVのヘッダー行を確認する
- ログファイルの冒頭を確認する
- ファイル形式をざっと確認する
- 大きなファイルを開く前に中身の雰囲気を見る
たとえば、CSVファイルの列名だけ確認したい場合は、次のように1行だけ表示できます。
head -n 1 users.csvtailコマンド:ファイルの末尾だけ確認する
tail は、ファイルの末尾部分だけを表示するコマンドです。
tail ファイル名何も指定しない場合、一般的には末尾10行が表示されます。
tail app.logログファイルでは、新しい情報が末尾に追加されることが多いため、tail はログ確認でよく使います。
表示する行数を指定する
tail も -n オプションで行数を指定できます。
tail -n 50 app.logこの例では、app.log の末尾50行を表示します。
tail -fでログをリアルタイム確認する
tail で特によく使うのが -f オプションです。
tail -f app.logtail -f を使うと、ファイルの末尾を表示したまま、新しく追加された行をリアルタイムで追いかけられます。
Webサーバーやアプリケーションのログ確認では、次のような使い方をします。
tail -f /var/log/nginx/access.log停止したいときは Ctrl + C を押します。
tailが向いている場面
- ログの最新行を確認する
- 処理結果が最後に出力されているか確認する
- エラー発生直後のログを見る
tail -fでログを監視する
「ログを見るならまず tail」と覚えておくと、サーバー作業で役立ちます。
grepコマンド:ファイル内から特定の文字を検索する
grep は、ファイルの中から特定の文字列を含む行だけを表示するコマンドです。
grep キーワード ファイル名たとえば、ログファイルから error を含む行だけ探すなら、次のように実行します。
grep error app.logファイル全体を目で読む必要がないため、ログ調査や設定確認でよく使います。
行番号つきで表示する
どの行に見つかったか知りたいときは、-n オプションを使います。
grep -n error app.log行番号が出るので、後からエディタで該当箇所を開くときにも便利です。
大文字小文字を区別せず検索する
Error、ERROR、error のように表記ゆれがある場合は、-i オプションを使います。
grep -i error app.log大文字と小文字を区別せずに検索できます。
grepが向いている場面
- ログから
errorを探す - 設定ファイルから特定の項目を探す
- ソースコードから関数名や変数名を探す
- 複数行あるファイルから必要な行だけ抜き出す
たとえば、設定ファイルから port を含む行だけ見たい場合は、次のように実行します。
grep -n port config.txt実務でよく使う組み合わせ
ここまで紹介したコマンドは、単体でも便利ですが、パイプ | で組み合わせるとさらに使いやすくなります。
パイプは、左側のコマンド結果を右側のコマンドへ渡す仕組みです。
最新100行からerrorだけ探す
ログファイル全体ではなく、最新100行の中から error だけ探したい場合は、次のように書きます。
tail -n 100 app.log | grep -i errorログファイルが大きい場合でも、範囲を絞って確認できます。
CSVの先頭だけ確認する
CSVファイルの列名やデータ形式だけ確認したい場合は、head を使います。
head -n 5 users.csv最初の5行だけ表示されるので、ファイル全体を開かずに確認できます。
長いログを開いて中で検索する
長いログを読みながら検索したい場合は、less が便利です。
less app.log開いた後に /error と入力すると、error を検索できます。
よくある間違い
長いログにcatを使ってしまう
長いログファイルに cat を使うと、画面が一気に流れて読みにくくなります。
cat app.log長いファイルは less で開くか、末尾だけなら tail を使いましょう。
less app.log
tail -n 100 app.loglessの終了方法がわからない
less は、開いた後に q を押すと終了できます。
qターミナル初心者がつまずきやすいポイントなので、less を使うときは「q で終了」までセットで覚えておきましょう。
grepで大文字小文字の違いに気づかない
grep error app.log では、ERROR や Error を期待通り拾えないことがあります。
表記ゆれも含めて探したいときは、-i を付けます。
grep -i error app.logFAQ
Linuxでファイルの中身を確認する一番基本のコマンドは何ですか?
短いファイルなら cat ファイル名 が基本です。ただし、長いファイルは画面が流れて読みにくいため、less ファイル名 を使うのがおすすめです。
catとlessはどう使い分けますか?
短いファイルを一気に表示したいときは cat、長いファイルを1画面ずつ読みたいときは less を使います。ログやソースコードの確認には less が向いています。
ログファイルの最新行を確認するにはどうすればいいですか?
末尾だけ確認するなら tail ファイル名、行数を指定するなら tail -n 100 ファイル名 を使います。リアルタイムで追いかけるなら tail -f ファイル名 です。
ファイル内の特定キーワードを検索するには?
grep キーワード ファイル名 を使います。行番号も表示したい場合は grep -n キーワード ファイル名、大文字小文字を区別せず探す場合は grep -i キーワード ファイル名 を使います。
Macのターミナルでも同じコマンドを使えますか?
cat、less、head、tail、grep はMacのターミナルでもよく使われます。ただし、LinuxとMacでは一部オプションの挙動が異なる場合があるため、細かい違いは man コマンド名 で確認すると確実です。
まとめ
Linuxでファイルの中身を確認するなら、まず次の5つを覚えましょう。
| コマンド | 役割 |
|---|---|
cat | 短いファイルを全部表示する |
less | 長いファイルを1画面ずつ読む |
head | ファイルの先頭だけ確認する |
tail | ファイルの末尾だけ確認する |
grep | ファイル内から特定の文字を検索する |
最初はすべてを完璧に覚える必要はありません。
短いファイルは cat、長いファイルは less、ログの最新行は tail、キーワード検索は grep。この4つの判断軸だけでも、ターミナルでのファイル確認はかなり楽になります。























