【Linux入門】ファイルの中身を確認するコマンド5選|cat・less・grepの使い分け | UNIX Cafe

* 当サイトでは、コンテンツの一部に広告を掲載しています。

System Note $ cat /proc/ai-disclosure

本記事の構成および論理分析にはAI(人工知能)を使用しています。情報の正確性は、システム管理者(UNIXユーザー)による手動検証済みです。

【Linux入門】ファイルの中身を確認するコマンド5選|cat・less・grepの使い分け | UNIX Cafe

LinuxやMacのターミナルで作業していると、ファイルの中身を確認したい場面がよくあります。

たとえば、次のような場面です。

  • 設定ファイルに何が書かれているか確認したい
  • ログファイルの最新行だけ見たい
  • CSVファイルの先頭行を確認したい
  • 長いファイルを1画面ずつ読みたい
  • ファイル内から errorwarning だけ探したい

このときに使う基本コマンドが、catlessheadtailgrep です。

この記事では、Linuxでファイルの中身を確認する基本コマンドを5つに絞って、使い方と使い分けを解説します。Macのターミナルでもほぼ同じように使えます。

目次

まず結論:ファイルの中身を確認するコマンドの使い分け

最初に、どのコマンドをいつ使うかを整理しておきます。

やりたいこと使うコマンド
短いファイルを全部表示したいcatcat memo.txt
長いファイルを1画面ずつ読みたいlessless app.log
先頭の数行だけ見たいheadhead -n 20 data.csv
末尾の数行だけ見たいtailtail -n 50 app.log
追記されるログをリアルタイムで見たいtail -ftail -f app.log
特定の文字を含む行だけ探したいgrepgrep error app.log

迷ったときは、次のように考えると判断しやすいです。

  • 短いファイルなら cat
  • 長いファイルなら less
  • 先頭だけなら head
  • 最後だけなら tail
  • キーワード検索なら grep

catコマンド:短いファイルの中身を一気に表示する

cat は、ファイルの中身をターミナルに表示する基本コマンドです。

cat ファイル名

たとえば memo.txt の中身を表示するなら、次のように実行します。

cat memo.txt

数行から数十行程度の短いファイルなら、cat が一番手軽です。

catが向いている場面

  • 短いメモファイルを確認する
  • 小さな設定ファイルを確認する
  • シェルスクリプトの全体をざっと見る
  • ファイル内容を別のコマンドへ渡す

たとえば、設定ファイルの中身を確認するだけなら、次のように使えます。

cat config.txt

catを長いファイルに使うと読みにくい

cat はファイル全体を一気に表示します。そのため、数百行、数千行あるログファイルに使うと、画面が一瞬で流れて読みにくくなります。

長いファイルを読みたいときは、cat ではなく less を使うのが基本です。

less app.log

lessコマンド:長いファイルを1画面ずつ確認する

less は、長いファイルをページ送りしながら読むためのコマンドです。

less ファイル名

たとえば、ログファイルを確認するなら次のように実行します。

less app.log

less を使うと、ファイル全体を一気に表示するのではなく、1画面ずつスクロールして読めます。長いログ、ソースコード、大きめの設定ファイルを見るときに便利です。

lessの基本操作

less を開いた後は、キーボードで操作します。

操作意味
Space次のページへ進む
b前のページへ戻る
j または 1行下へ進む
k または 1行上へ戻る
/キーワードファイル内を検索する
n次の検索結果へ移動する
N前の検索結果へ移動する
qlessを終了する

初心者がよく困るのは、less の終了方法です。終了したいときは q を押します。

lessでファイル内検索をする

less では、ファイルを開いたまま検索できます。

less app.log

開いた後に、次のように入力します。

/error

これで、ファイル内の error という文字を検索できます。次の一致箇所へ進むには n、前の一致箇所へ戻るには N を押します。

catとlessの違い

catless の違いは、表示方法です。

コマンド表示方法向いているファイル
cat全部を一気に表示短いファイル
less1画面ずつ表示長いファイル

「ファイルが短いなら cat、長いなら less」と覚えておくと実務でも迷いません。

headコマンド:ファイルの先頭だけ確認する

head は、ファイルの先頭部分だけを表示するコマンドです。

head ファイル名

何も指定しない場合、一般的には先頭10行が表示されます。

head data.csv

CSVファイルやログファイルで、「最初の数行だけ確認したい」というときに便利です。

表示する行数を指定する

表示する行数は -n オプションで指定できます。

head -n 20 data.csv

この例では、data.csv の先頭20行を表示します。

headが向いている場面

  • CSVのヘッダー行を確認する
  • ログファイルの冒頭を確認する
  • ファイル形式をざっと確認する
  • 大きなファイルを開く前に中身の雰囲気を見る

たとえば、CSVファイルの列名だけ確認したい場合は、次のように1行だけ表示できます。

head -n 1 users.csv

tailコマンド:ファイルの末尾だけ確認する

tail は、ファイルの末尾部分だけを表示するコマンドです。

tail ファイル名

何も指定しない場合、一般的には末尾10行が表示されます。

tail app.log

ログファイルでは、新しい情報が末尾に追加されることが多いため、tail はログ確認でよく使います。

表示する行数を指定する

tail-n オプションで行数を指定できます。

tail -n 50 app.log

この例では、app.log の末尾50行を表示します。

tail -fでログをリアルタイム確認する

tail で特によく使うのが -f オプションです。

tail -f app.log

tail -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

行番号が出るので、後からエディタで該当箇所を開くときにも便利です。

大文字小文字を区別せず検索する

ErrorERRORerror のように表記ゆれがある場合は、-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.log

lessの終了方法がわからない

less は、開いた後に q を押すと終了できます。

q

ターミナル初心者がつまずきやすいポイントなので、less を使うときは「q で終了」までセットで覚えておきましょう。

grepで大文字小文字の違いに気づかない

grep error app.log では、ERRORError を期待通り拾えないことがあります。

表記ゆれも含めて探したいときは、-i を付けます。

grep -i error app.log

FAQ

Linuxでファイルの中身を確認する一番基本のコマンドは何ですか?

短いファイルなら cat ファイル名 が基本です。ただし、長いファイルは画面が流れて読みにくいため、less ファイル名 を使うのがおすすめです。

catとlessはどう使い分けますか?

短いファイルを一気に表示したいときは cat、長いファイルを1画面ずつ読みたいときは less を使います。ログやソースコードの確認には less が向いています。

ログファイルの最新行を確認するにはどうすればいいですか?

末尾だけ確認するなら tail ファイル名、行数を指定するなら tail -n 100 ファイル名 を使います。リアルタイムで追いかけるなら tail -f ファイル名 です。

ファイル内の特定キーワードを検索するには?

grep キーワード ファイル名 を使います。行番号も表示したい場合は grep -n キーワード ファイル名、大文字小文字を区別せず探す場合は grep -i キーワード ファイル名 を使います。

Macのターミナルでも同じコマンドを使えますか?

catlessheadtailgrep はMacのターミナルでもよく使われます。ただし、LinuxとMacでは一部オプションの挙動が異なる場合があるため、細かい違いは man コマンド名 で確認すると確実です。

まとめ

Linuxでファイルの中身を確認するなら、まず次の5つを覚えましょう。

コマンド役割
cat短いファイルを全部表示する
less長いファイルを1画面ずつ読む
headファイルの先頭だけ確認する
tailファイルの末尾だけ確認する
grepファイル内から特定の文字を検索する

最初はすべてを完璧に覚える必要はありません。

短いファイルは cat、長いファイルは less、ログの最新行は tail、キーワード検索は grep。この4つの判断軸だけでも、ターミナルでのファイル確認はかなり楽になります。

WinからLinuxへ– category –

CLIで開発する– category –

Unixコマンド実践– category –

ターミナル仕事術– category –

関連リンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

のいのアバター のい UNIX Cafe マスター

Macintosh Color Classicから始まった旅は、長いWindows時代を経て、Windows10のサポート終了をきっかけにUNIXの世界へ戻ってきました。UNIX Cafeでは、UNIX・Linux・そしてMacな世界を、むずかしい言葉を使わず、物語のように書いています。プログラミングは、アイデアをコンピューターに伝えるための言葉です。簡単な単語と文法を覚えれば、誰でもコマンドを使えます。ぜひ一度、やさしいプログラミングの世界をのぞいてみてください。

目次