このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

新Linuxコマンド演習40

新Linuxコマンド演習40 概要

 「新Linuxコマンド演習40」では、テキストファイルの一部を確認するための基本コマンドである headtail を学びます。
これらのコマンドは、ログファイルや設定ファイルを部分的に確認する際に非常に便利です。
head はファイルの先頭部分を、tail はファイルの末尾部分を表示します。
また、パイプ ( | ) と組み合わせて、他のコマンド出力の一部を確認することも可能です。

head / tail コマンドの主なオプション

コマンドオプション内容
head-n 行数表示する行数を指定(例:head -n 20)
head-c バイト数表示するバイト数を指定(例:head -c 100)
tail-n 行数ファイルの末尾から指定した行数を表示
tail-fファイル末尾をリアルタイムに監視(ログ監視に利用)

表の説明
head と tail はどちらもファイルの内容を部分的に表示します。
-n で行数を指定、-c でバイト数を指定します。
 tail -f は、ログファイルなどで新しい行が追加された場合に自動的に表示を更新する機能で、監視作業に便利です。

演習問題+模範解答例

演習01:ファイルの先頭から10行を表示する

問題
/etc/passwd ファイルの先頭から10行を表示してください。

模範解答例

[suzuki@AlmaLinux ~]$ head /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin

解説

  • head コマンドはデフォルトで先頭10行を表示します。
  • ファイル全体を開かずに概要を確認できるため、大きな設定ファイルの確認に便利です。

演習02:ファイルの先頭から20行を表示する

問題
/etc/passwd ファイルの先頭から20行を表示してください。

模範解答例

[suzuki@AlmaLinux ~]$ head -n 20 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
(省略)
rtkit:x:172:172:RealtimeKit:/:/sbin/nologin
libstoragemgmt:x:996:996:daemon account for libstoragemgmt:/:/usr/sbin/nologin
geoclue:x:995:995:User for geoclue:/var/lib/geoclue:/sbin/nologin

解説

  • -n オプションを使用して、表示する行数を指定します。
  • head -20 /etc/passwd と省略して書くことも可能です。
  • 大きなファイルでも、最初の部分を効率的に確認できます。

演習03:ファイルの先頭から100バイトを表示する

問題
/etc/passwd ファイルの先頭から100バイトを表示してください。

模範解答例

[suzuki@AlmaLinux ~]$ head -c 100 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nol

解説

  • -c オプションを使うと、文字単位ではなくバイト単位で出力できます。
  • 小さなテキストファイルの内容を確認する際に便利です。
  • バイナリファイルを扱う場合にも利用されることがあります。

演習04:コマンド出力の先頭から5行を表示する

問題
ps aux コマンドの出力結果のうち、先頭から5行を表示してください。

模範解答例

[suzuki@AlmaLinux ~]$ ps aux | head -5
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.3 193968  7032 ?        Ss   21:15   0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root         2  0.0  0.0      0     0 ?        S    21:15   0:00 [kthreadd]
root         4  0.0  0.0      0     0 ?        S<   21:15   0:00 [kworker/0:0H]
root         5  0.0  0.0      0     0 ?        S    21:15   0:00 [kworker/u2:0]

解説

  • |(パイプ)を使うことで、他のコマンドの出力をheadで制御できます。
  • 長いコマンド出力(例:ps、ls -lRなど)の先頭だけを確認したいときに有効です。

演習05:11行目から20行目を抜き出して表示する

問題
/etc/passwd ファイルの11行目から20行目を抜き出して表示してください。

模範解答例

[suzuki@AlmaLinux ~]$ head -20 /etc/passwd | tail
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
systemd-coredump:x:999:999:systemd Core Dumper:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:998:998:User for polkitd:/:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/:/sbin/nologin
libstoragemgmt:x:996:996:daemon account for libstoragemgmt:/:/usr/sbin/nologin
geoclue:x:995:995:User for geoclue:/var/lib/geoclue:/sbin/nologin

解説

  • head -20 で最初の20行を取得し、tail で末尾10行(=11~20行)を表示しています。
  • このように headとtailを組み合わせることで、特定範囲の行を抽出できます。

まとめ

 「新Linuxコマンド演習40」では、テキストファイルやコマンド出力の一部を確認するための基本操作を学びました。

学習したポイント

  • head コマンドでファイルの先頭を表示
  • tail コマンドでファイルの末尾を表示
  • -n で行数指定、-c でバイト数指定が可能
  • パイプ( | )を用いて他コマンド出力の一部を抽出
  • headとtailを組み合わせて任意範囲の行を表示

これらのコマンドは、システムログや設定ファイルの内容確認において日常的に利用されます。