このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linux基礎:コマンド練習11

コマンド練習11
「コマンド練習11」では 5章の前半で登場したコマンドについて 練習問題を通して学びます。ここで扱うのは ps コマンド(プロセスの表示)、リダイレクト(入出力の制御)、パイプ(複数コマンドの連携) です。
Linux では実行中のプロセスを管理し、コマンドの出力をファイルに保存したり、あるコマンドの出力を別のコマンドに渡すことで効率的な作業が可能です。これらの基本動作を 表や図 を使って解説し、練習問題形式で体験できるようにしています。最後に 「練習+模範解答例」 を掲載します。

コマンド解説
1.ps コマンド(プロセスの表示)
実行中のプロセスを一覧表示する。
| オプション | 説明 | 使用例 |
|---|---|---|
| ps | 現在のシェルで動いているプロセスを表示 | ps |
| ps -e | システム全体のプロセスを表示 | ps -e |
| ps aux | すべてのユーザーのプロセスの詳細情報を表示 | ps aux |
psコマンドの出力例
[user@rocky9 ~]$ ps
PID TTY TIME CMD
3656 pts/0 00:00:00 bash
4137 pts/0 00:00:00 ps2.リダイレクト(入出力の制御)
コマンドの結果をファイルに保存したり、ファイルの内容を入力として利用する。
| 記号 | 説明 | 使用例 |
|---|---|---|
| > | 出力を上書き保存 | echo Hello > out.txt |
| >> | 出力を追記 | echo World >> out.txt |
| < | ファイルを入力として使用 | sort < input.txt |
3.パイプ(コマンド連携)
1つのコマンドの出力を、別のコマンドの入力として利用する。
[ ps aux ] → [ grep bash ]練習問題 + 模範解答例
問題1
現在のシェルで実行中のプロセスを表示してください。
模範解答例
[user@rocky9 ~]$ ps
PID TTY TIME CMD
3656 pts/0 00:00:00 bash
4542 pts/0 00:00:00 ps問題2
システム全体で動いているプロセスを一覧表示してください。
模範解答例
[user@rocky9 ~]$ ps -e
PID TTY TIME CMD
1 ? 00:00:01 systemd
2 ? 00:00:00 kthreadd
3 ? 00:00:00 pool_workqueue_
4 ? 00:00:00 kworker/R-rcu_g
(省略)問題3
新しいファイル process.txt を作成し、ps コマンドの結果をこのファイルに保存してください。
模範解答例
[user@rocky9 ~]$ ps > process.txt問題4
新しいファイル numbers.txt を作成し、以下の内容を入力してください。
3
1
4
1
5その後、sort コマンドを使い、リダイレクトで sorted.txt に並べ替え結果を保存してください。
模範解答例
[user@rocky9 ~]$ echo -e "3\n1\n4\n1\n5" > numbers.txt
[user@rocky9 ~]$ cat numbers.txt
3
1
4
1
5
[user@rocky9 ~]$ sort < numbers.txt > sorted.txt
[user@rocky9 ~]$ cat sorted.txt
1
1
3
4
5問題5
ps aux の結果から bash を含む行だけを抽出してください(パイプを使用)。
模範解答例
[user@rocky9 ~]$ ps aux | grep bash
user 3656 0.0 0.3 224256 5632 pts/0 Ss 9月05 0:00 bash
user 4595 0.0 0.1 221808 2560 pts/0 S+ 13:18 0:00 grep --color=auto bash問題6
新しいファイル words.txt を作成し、以下を入力してください。
apple
banana
apple
cherry
bananaこのファイルの内容を sort で並べ替え、uniq で重複を除去してください(パイプを使用)。
模範解答例
[user@rocky9 ~]$ echo -e "apple\nbanana\napple\ncherry\nbanana" > words.txt
[user@rocky9 ~]$ cat words.txt
apple
banana
apple
cherry
banana
[user@rocky9 ~]$ sort words.txt | uniq
apple
banana
cherryまとめ
「コマンド練習11」では、5章の前半で登場したコマンド として、ps・リダイレクト・パイプの基本を学びました。
psでプロセスの状態を確認- リダイレクトで出力をファイルに保存したり、ファイルを入力として利用
- パイプで複数コマンドを連携して効率化
これらを組み合わせることで、Linux での 作業効率を飛躍的に向上 させることができます。
