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

Linux基礎:コマンド練習17

コマンド練習17

 「コマンド練習17」では、6章の前半で登場したコマンドについて 練習問題を通して学びます。ここで扱うのは grepheadtail です。これらは ファイル内容を検索・確認するための代表的なコマンド であり、ログの解析やテキスト処理で頻繁に使用されます。

  • grep は、ファイル内の文字列検索を行うコマンドです。
  • head は、ファイルの先頭部分を表示するコマンドです。
  • tail は、ファイルの末尾部分を表示するコマンドです。

 ここでは、各コマンドの 書式、主なオプション、使用例 を表や図で解説し、その後に 「練習+模範解答例」 を提示します。

コマンド解説

1.grep コマンド

ファイルや標準入力から指定したパターンを検索します。

書式

grep [オプション] 検索パターン [ファイル名]

主なオプション

オプション説明
-n行番号を表示
-i大文字小文字を区別しない。
-vパターンに一致しない行を表示
-rディレクトリを再帰的に検索

2.head コマンド

ファイルの先頭部分を表示します。

書式

head [オプション] [ファイル名]

主なオプション

オプション説明
-n 数字指定した行数を表示(デフォルトは10行)

3.tail コマンド

ファイルの末尾部分を表示します。

書式

tail [オプション] [ファイル名]

主なオプション

オプション説明
-n 数字指定した行数を表示(デフォルトは10行)
-fファイルを監視し、追加された内容をリアルタイムに表示

練習問題 + 模範解答例

問題1

 新しく sample.txt を作成し、以下の内容を記入してください。その後、grep を使って "Linux" を含む行を表示してください。

Hello World
Linux is great
Rocky Linux
grep command test

模範解答例

[user@rocky9 ~]$ cat > sample.txt <<EOF
> Hello World
> Linux is great
> Rocky Linux
> grep command test
> EOF
[user@rocky9 ~]$ grep "Linux" sample.txt
Linux is great
Rocky Linux

<<:ヒアドキュメント。区切文字列が入力されるまで標準入力します。

問題2

sample.txt に含まれる "linux" を大文字小文字を区別せずに検索してください。

模範解答例

[user@rocky9 ~]$ grep -i "linux" sample.txt
Linux is great
Rocky Linux

問題3

sample.txt の先頭 2 行だけを表示してください。

模範解答例

[user@rocky9 ~]$ head -n 2 sample.txt
Hello World
Linux is great

問題4

sample.txt の末尾 2 行だけを表示してください。

模範解答例

[user@rocky9 ~]$ tail -n 2 sample.txt
Rocky Linux
grep command test
tail -n 2 sample.txt

問題5

 新しく logfile.txt を作成し、1〜20 行までの数字を保存してください。その後、ファイルの末尾 5 行を表示してください。

模範解答例

[user@rocky9 ~]$ seq 1 20 > logfile.txt
[user@rocky9 ~]$ tail -n 5 logfile.txt
16
17
18
19
20

問題6

 logfile.txt の内容をリアルタイムで監視し、追加される行を表示してください。別の端末から echo "21" >> logfile.txt を実行すると表示されることを確認してください。

模範解答例

一つ目の端末(ターミナル)で以下のコマンドを実行します。

[user@rocky9 ~]$ tail -f logfile.txt

もう一つ、端末(ターミナル)を起動して、次のコマンドを実行します。

[user@rocky9 ~]$ echo "21" >> logfile.txt

一つ目の端末(ターミナル)の出力

11
12
13
14
15
16
17
18
19
20
21

「Ctrl」+「C」で終了します。

まとめ

「コマンド練習17」では、6章の前半で登場したコマンドについて 学びました。

  • grep でファイル内容を検索
  • head でファイルの先頭を表示
  • tail でファイルの末尾やリアルタイム監視

 これらを活用することで、Linux システムの ログ解析やテキスト処理を効率的に行う技術 を習得できます。