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

LinuxC入門|コマンド演習03

LinuCコマンド演習03 概要

「LinuCコマンド演習03」では、1章で登場したコマンドについて理解を深めながら、
tmux コマンドによる端末多重化とセッション管理を演習形式で学習します。

Linux 環境では、長時間動作する処理を実行したまま別作業を行ったり、
SSH 接続が切断されても作業状態を保持したりする場面が多くあります。

本演習では、tmux を使って

  • 端末の多重化
  • セッションの保持
  • デタッチとアタッチによる作業継続

を安全かつ確実に行えるようになることを目的とします。

tmux コマンドの基本と構造(復習)

tmux は、1つのログイン環境の中で複数の端末画面を扱えるツールです。

要素説明
セッション作業全体をまとめる単位
ウィンドウタブのような作業画面
ペイン分割された実行領域

tmux の操作は、プレフィックスキー Ctrl + b を起点に行います。

演習問題+模範解答例

演習01:tmuxコマンド(セッションの開始)

問題
tmux コマンドを実行し、新しい tmux セッションを開始してください。

模範解答例

[suzuki@AlmaLinux ~]$ tmux

tmuxコマンド実行直後

実際に「tmux」コマンドを実行した直後の画面は、下図のとおりです。

画面がリフレッシュされ、新たなウィンドウと実行環境が生成されます。

解説

tmux を実行すると、新しいセッションが作成され、
ウィンドウとペインを持つ tmux の操作環境に切り替わります。
この tmux を起動した単位を セッション と呼びます。

演習02:tmuxコマンド(ペインの上下分割)

問題
tmux セッション内で、画面を上下に分割してください。

模範解答例

プレフィックスキー(「Ctrl」+「b」)を押した後、「"」キーを押します。

Ctrl + b → "

これで上下のペイン間を自由に移動できるようになります。下のペインが、カレントペインとなります。

実際の画面は下図のとおりです。

解説

プレフィックスキー Ctrl + b の後に " を押すことで、
画面が上下 2 つのペインに分割されます。
これにより、同時に複数の作業を行えるようになります。

演習03:tmuxコマンド(ペイン間の移動)

問題
上下に分割されたペイン間を移動してください。上のペインへ移動します。

模範解答例

プレフィックスキー(「Ctrl」+「b」)を押した後、「o」キーを押します。

Ctrl + b → o

解説

Ctrl + b → o を押すたびに、操作対象のペインが切り替わります。
どのペインでコマンドを実行しているかを意識することが重要です。

演習04:sleepコマンド(長時間処理の実行)

問題
上側のペインで、3600 秒間待機する処理を実行してください。

模範解答例

[suzuki@AlmaLinux ~]$ sleep 3600

解説

sleep コマンドは、指定した秒数だけ処理を停止します。
ここでは、長時間動作する処理の例として使用しています。

演習05:pgrepコマンド(プロセスIDの確認)

問題
下側のペインで、実行中の sleep プロセスの PID を確認してください。

模範解答例

sleep が実行されている間に、下のペインへ移動します。
プレフィックスキー(「Ctrl」+「b」)を押した後、「o」キーを押します。

下のペインから、sleep コマンドの PID を確認します。

[suzuki@AlmaLinux ~]$ pgrep sleep

解説

pgrep は、プロセス名から PID を検索するコマンドです。
長時間処理の管理や停止を行う際に役立ちます。

演習06:killコマンド(プロセスの終了)

問題
確認した PID を指定して、sleep プロセスを終了してください。

模範解答例

[suzuki@AlmaLinux ~]$ kill 42204

※ PID は実行環境によって異なります。

解説

kill コマンドを実行すると、指定した PID のプロセスが終了します。
上側のペインでは Terminated と表示され、プロンプトが戻ります。

演習07:exitコマンド(ペインの終了)

問題
はじめに下側のペインを exit コマンドで終了させます。その後で、残ったペインを終了させてください。

模範解答例

[suzuki@AlmaLinux ~]$ exit

もう一度、残ったペインで exit コマンドを実行して終了させます。

[suzuki@AlmaLinux ~]$ exit

上下のペインそれぞれで exit を実行すると、tmux セッション自体も終了し、元のシェルに戻ります。

解説

exit を実行すると、現在操作しているペインが終了します。
tmux では、ペインを閉じる操作として使用されます。

演習08:tmux操作(セッションのデタッチ)

問題
tmux セッションを開始して、ls コマンドを実行します。次にtmux セッションにデタッチしてください。

模範解答例

tmux コマンドを実行します。

[suzuki@AlmaLinux ~]$ tmux

実際の操作画面

ls コマンドを実行します。

[suzuki@AlmaLinux ~]$ ls
テンプレート  ドキュメント  音楽    公開
ダウンロード  デスクトップ  ビデオ  画像

実際の操作画面

デタッチの操作

プレフィックスキーの「Ctrl」+「b」キーを押し、「d」キーを入力します。

Ctrl + b → d

実行すると、次のように表示されます。

[detached (from session 0)]
[suzuki@AlmaLinux ~]$

実際の操作画面

解説

デタッチを行うと、tmux セッションは終了せず、
バックグラウンドで保持されたままになります。
SSH 切断時にも作業を継続できる点が tmux の大きな特徴です。

演習09:tmuxコマンド(セッションのアタッチ)

問題
デタッチしている tmux セッションに再接続してください。

模範解答例

[suzuki@AlmaLinux ~]$ tmux attach

これで、先ほどの作業画面にそのまま戻れます。

解説

tmux attach を実行すると、
デタッチ前の作業状態にそのまま復帰できます。

演習10:tmuxセッションの終了

問題
tmux セッションを完全に終了してください。

模範解答例

[suzuki@AlmaLinux ~]$ exit

tmuxセッションが終了して、元のコマンドラインに戻ります。

実際の操作画面

解説

すべてのペインで exit を実行すると、
tmux セッション自体が終了し、元のシェルに戻ります。

まとめ

「LinuCコマンド演習03」では、tmux を利用した端末多重化とセッション管理を通して、
長時間処理の管理、複数作業の並行実行、デタッチとアタッチによる作業継続を学習しました。

tmux を正しく使いこなすことで、
Linux 環境における作業効率と安定性を大きく向上させることができます。