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

新Linuxコマンド演習24

新Linuxコマンド演習24 概要

 「新Linuxコマンド演習24」では、システムで動作しているプロセスの確認と、ファイルの内容を標準出力に表示するcatコマンドの応用を学びます。

Linuxでは、ユーザーが実行するすべてのプログラム(コマンド)は「プロセス」として扱われます。
 また、ファイルの中身を確認したり、他のコマンドと組み合わせる際に欠かせないのがcatコマンドです。

この演習では、

  • ps コマンドでプロセスの状態を確認し、バックグラウンド処理を理解する。
  • cat コマンドでファイル内容を確認し、行番号を付けて出力する。

といった操作を通じて、シェルの動作や標準出力の仕組みを体感していきます。

psコマンドとは

ps(process status)コマンドは、現在実行中のプロセス情報を表示するためのコマンドです。
 オプションを組み合わせることで、自分のプロセスだけでなく、他のユーザーやシステム全体のプロセスも確認できます。

主なオプション一覧

オプション説明
(なし)現在のターミナルで実行中のプロセスを表示
-eシステム全体のプロセスを表示
-fフルフォーマット表示(親プロセスなど詳細を含む)
-u ユーザー名指定したユーザーのプロセスを表示
-auxすべてのプロセスを詳細表示(BSD形式)

たとえば、現在自分が実行しているプロセスだけを確認するには、以下のように入力します。

[suzuki@AlmaLinux ~]$ ps
  PID TTY          TIME CMD
 3224 pts/0    00:00:00 bash
 3327 pts/0    00:00:00 ps
  • PID:プロセスID(プロセスを一意に識別する番号)
  • TTY:端末デバイス名(例:pts/0 は仮想端末)
  • TIME:CPU使用時間
  • CMD:実行中のコマンド名

この例では、bash(シェル)とps(確認コマンド)自身が動作していることがわかります。

catコマンドとは

cat(concatenate)は、ファイルの内容を標準出力(画面)に表示するためのコマンドです。
複数ファイルの内容を連結したり、リダイレクトで別ファイルに出力することもできます。

主なオプション一覧

オプション説明
(なし)ファイル内容をそのまま表示
-n行番号をすべての行に付けて表示
-b空行を除いた行にのみ行番号を付ける。
-s連続する空行を1行にまとめて表示
-E行末に $ を付けて改行位置を明示する。

使用例

[suzuki@AlmaLinux ~]$ cat -n sample.txt
     1  Hello World
     2
     3  Hello Linux

このように、行番号を付けてファイルの内容を確認できます。

演習問題+模範解答例

演習01:現在実行中のプロセスを確認する

問題
現在、ログイン中のユーザーが実行しているプロセスを表示してください。

模範解答例

[suzuki@AlmaLinux ~]$ ps
  PID TTY          TIME CMD
 3224 pts/0    00:00:00 bash
 3327 pts/0    00:00:00 ps

解説
bash(シェル)とps(プロセス確認コマンド)の2つが実行中です。
psコマンドを実行するたびに、新しいpsプロセスが一時的に起動して表示されます。

演習02:バックグラウンドでプロセスを実行する

問題
60秒間スリープするプロセスをバックグラウンドで起動し、その状態を確認してください。

模範解答例

[suzuki@AlmaLinux ~]$ sleep 60 &
[1] 3567
[suzuki@AlmaLinux ~]$ ps
  PID TTY          TIME CMD
 3224 pts/0    00:00:00 bash
 3567 pts/0    00:00:00 sleep
 3574 pts/0    00:00:00 ps

解説

  • sleep 60 & の & は、コマンドをバックグラウンド実行する意味です。
  • ps の出力に sleep が含まれていれば、プロセスが実行中であることを確認できます。

60秒後、sleepプロセスが終了すると、シェルが次のように通知します。

[1]+  終了                  sleep 60

演習03:ファイルを作成してcatで確認する

問題
echoコマンドで改行を含むファイル dataを作成し、その内容をcatで確認してください。

模範解答例

[suzuki@AlmaLinux ~]$ echo -e "Hello World\n\n\n\nHello Linux" > data
[suzuki@AlmaLinux ~]$ cat data
Hello World



Hello Linux

解説
-e オプションを付けると、\n のようなエスケープシーケンス(改行コード)を有効にできます。
この例では、4行の空白行を挟んでテキストを作成しました。

演習04:catコマンドで行番号を付けて表示する

問題
作成したdataファイルに行番号を付けて表示し、空行を除外した番号表示も行ってください。

模範解答例

[suzuki@AlmaLinux ~]$ cat -b data
     1  Hello World



     2  Hello Linux

解説

  • -n はすべての行に番号を振る。
  • -b は空行を除いた行のみに番号を振る。
    空白行の扱いを比較すると違いがわかりやすいです。

演習終了時の作業:作成したファイルを削除する

問題
演習で作成したdataファイルを削除してください。

模範解答例

[suzuki@AlmaLinux ~]$ rm data

解説
rmコマンドはファイル削除コマンドです。
削除前に確認メッセージは表示されませんので注意しましょう。

まとめ

新Linuxコマンド演習24」では、

  • psコマンドを使ってプロセスの動きを観察し、バックグラウンド実行の仕組みを理解しました。
  • catコマンドを使ってファイル内容を確認し、行番号オプションの違いを学びました。

これらは、Linux操作の基礎であり、
 今後の演習で学ぶ「プロセス管理」や「標準入出力制御(リダイレクト・パイプ)」の理解につながる重要なステップです。