メインコンテンツへスキップ
レッスン 5 / 10推定時間: 20

ファイル内容の表示

cat、head、tail、moreコマンドを使ってファイルの内容を効率的に確認する方法を学びます

このレッスンの学習目標

  • ファイルの内容を表示できる
  • 大きなファイルを効率的に閲覧できる
  • ファイルの一部分だけを表示できる
  • 複数のファイルを結合して表示できる

ファイル全体を表示:cat

cat(Concatenate)は、ファイルの内容を表示する最も基本的なコマンドです。

基本的な使い方

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

試してみよう:

  1. cat sample.txt - ファイルの内容を表示
  2. cat -n sample.txt - 行番号付きで表示
  3. cat sample.txt sample.txt - 同じファイルを2回表示

catの便利なオプション

オプション説明使用例
-n行番号を表示cat -n file.txt
-b空行以外に行番号を表示cat -b file.txt
-s連続する空行を1行にまとめるcat -s file.txt
-E行末に$を表示cat -E file.txt
-Tタブをタブ記号で表示cat -T file.txt

複数ファイルの結合

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

catは複数のファイルを結合して表示できます:

cat file1.txt file2.txt > combined.txt

ファイルの先頭を表示:head

headは、ファイルの先頭部分だけを表示します。大きなファイルの概要を確認するのに便利です。

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

試してみよう:

  1. head numbers.txt - デフォルトで先頭10行を表示
  2. head -n 5 numbers.txt - 先頭5行を表示
  3. head -n 20 numbers.txt - 先頭20行を表示

headの活用例

# ログファイルの先頭を確認
head /var/log/system.log

# CSVファイルのヘッダーを確認
head -n 1 data.csv

# 複数ファイルの先頭を一度に確認
head *.txt

ファイルの末尾を表示:tail

tailは、ファイルの末尾部分を表示します。ログファイルの最新情報を確認するのによく使われます。

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

試してみよう:

  1. tail log.txt - 末尾10行を表示
  2. tail -n 3 log.txt - 末尾3行を表示
  3. tail -f log.txt - リアルタイムで更新を監視(Ctrl+Cで終了)

tailの重要なオプション

オプション説明使用例
-n表示する行数を指定tail -n 20 file.txt
-fファイルの更新を監視tail -f access.log
-Fファイルが再作成されても追跡tail -F app.log

大きなファイルの閲覧:lessとmore

大きなファイルを見るときは、lessmoreを使ってページ単位で表示します。

lessの基本操作

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

less large_file.txtを実行すると、以下のキーで操作できます:

  • スペース:次のページ
  • b:前のページ
  • /検索語:前方検索
  • ?検索語:後方検索
  • q:終了

lessとmoreの違い

機能lessmore
前方スクロール
後方スクロール×
検索機能高機能基本的
ファイルの終端での動作待機自動終了

実践的な使用例

1. ログファイルの監視

# アクセスログをリアルタイムで監視
tail -f /var/log/apache2/access.log

# エラーログの最新20行を確認
tail -n 20 /var/log/apache2/error.log

2. 設定ファイルの確認

# 設定ファイルをコメント行を除いて表示
cat /etc/ssh/sshd_config | grep -v '#'

# 長い設定ファイルをページャーで確認
less /etc/nginx/nginx.conf

3. データファイルの分析

# CSVファイルの先頭でカラムを確認
head -n 1 sales_data.csv

# ファイルの行数を確認
cat data.txt | wc -l

高度なテクニック

パイプとの組み合わせ

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

パイプ(|)を使って、コマンドを組み合わせることができます。 上の例では、1-50の数字から先頭20行を取り、その末尾5行(16-20)を表示しています。

特定の範囲を表示

# 10行目から20行目を表示
sed -n '10,20p' file.txt

# 5行目以降をすべて表示
tail -n +5 file.txt

実践演習

以下の演習に挑戦してみましょう:

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

課題

  1. data.txtの全内容を行番号付きで表示
  2. 最初の5行だけを表示
  3. 最後の5行だけを表示
  4. 10行目から15行目を表示(ヒント:headとtailを組み合わせる)

解答例:

cat -n data.txt
head -n 5 data.txt
tail -n 5 data.txt
head -n 15 data.txt | tail -n 6

よくある使い方のミス

1. バイナリファイルをcatで表示

# 画面が文字化けする可能性
cat /usr/bin/ls

# 代わりにfileコマンドで確認
file /usr/bin/ls

2. 巨大なファイルをcatで表示

# メモリを大量に消費する可能性
cat very_large_file.log

# lessやheadを使う
less very_large_file.log
head -n 100 very_large_file.log

まとめ

このレッスンでは、ファイルの内容を表示する様々な方法を学びました。用途に応じて適切なコマンドを選択することで、効率的にファイルの内容を確認できます。

次のレッスンでは、テキスト処理の基本について学びます。

💡 覚えておくと便利:catは小さなファイル、lessは大きなファイル、head/tailは部分表示に使い分けましょう!

さらに学習を続けるには

素晴らしい学習ペースです!次のレッスンに進むには、無料会員登録をお願いします。無料会員では各コース3レッスンまで学習できます。

無料で続きを学ぶ

各コース3レッスンまで学習可能

学習進捗の自動保存

コース修了証明書の発行