ターミナル 初級

tmuxの基礎 - ターミナルマルチプレクサを使いこなす

tmuxを使ってターミナルを分割・管理する方法を学ぶ。セッション・ウィンドウ・ペインの概念から、SSH切断後も作業を継続する方法まで解説する

サーバーにSSHで接続して作業していると「接続が切れて作業内容が消えた」という経験をしたことはないでしょうか。 tmux(ターミナルマルチプレクサ)を使えば、接続が切れてもバックグラウンドでセッションを維持でき、再接続後に作業を再開できます。 また、1つのターミナル画面を複数のペインに分割して同時に複数の作業を行うことも可能です。

tmuxの主な概念

tmuxは3つの階層で構成されています。

用語説明
セッション (Session)tmuxの最上位の単位。接続が切れても存在し続ける
ウィンドウ (Window)セッション内のタブのようなもの。複数持てる
ペイン (Pane)ウィンドウを分割した区画。1ウィンドウに複数配置できる

インストール確認

多くのLinuxディストリビューションにはtmuxが含まれています。

tmux -V

インストールされていない場合:

# Debian/Ubuntu
sudo apt install tmux

# RHEL/CentOS/Fedora
sudo dnf install tmux

セッションの基本操作

新しいセッションを開始する

# 無名セッションを開始
tmux

# セッションに名前を付けて開始(推奨)
tmux new-session -s mywork
# または短縮形
tmux new -s mywork

セッションから抜ける(デタッチ)

tmuxを終了せずにバックグラウンドに回すにはデタッチします。

プレフィックスキー: Ctrl + b
デタッチ: Ctrl + b → d

ターミナルが元の状態に戻りますが、セッションはバックグラウンドで動き続けています。

セッションの一覧を確認する

tmux list-sessions
# または
tmux ls

出力例:

mywork: 1 windows (created Fri Sep  4 10:00:00 2026)

セッションに再接続する(アタッチ)

# セッション名を指定してアタッチ
tmux attach-session -t mywork
# または短縮形
tmux attach -t mywork

# 最後のセッションにアタッチ
tmux attach

セッションを終了する

# セッション内から終了
exit

# 外部からセッションを終了
tmux kill-session -t mywork

ウィンドウの操作

セッション内でタブのように複数のウィンドウを管理できます。 すべての操作は Ctrl + b を押してから次のキーを入力します。

キー操作動作
Ctrl+b → c新しいウィンドウを作成
Ctrl+b → n次のウィンドウへ移動
Ctrl+b → p前のウィンドウへ移動
Ctrl+b → 0〜9番号でウィンドウへ移動
Ctrl+b → ,ウィンドウ名を変更
Ctrl+b → wウィンドウ一覧を表示
Ctrl+b → &現在のウィンドウを閉じる

ペインの操作(画面分割)

1つのウィンドウを複数のペインに分割して、複数のコマンドを同時に表示できます。

ペインを作成する

垂直分割(左右): Ctrl + b → %
水平分割(上下): Ctrl + b → "

ペイン間を移動する

Ctrl + b → 矢印キー(←↑↓→)

ペインのサイズを変更する

Ctrl + b → Alt + 矢印キー(少しずつ変更)

ペインを閉じる

exit
または
Ctrl + b → x  (確認メッセージが出る)

よく使うキーバインド一覧

キー操作動作
Ctrl+b → dセッションをデタッチ
Ctrl+b → sセッション一覧
Ctrl+b → ?キーバインドのヘルプを表示
Ctrl+b → [スクロールモード(qで終了)
Ctrl+b → t時計を表示

スクロールモード

tmux内でターミナルのスクロールをするには特別な操作が必要です。

1. Ctrl + b → [ でスクロールモードに入る
2. 矢印キー / PgUp / PgDn でスクロール
3. q でスクロールモードを終了

実践例:SSH接続でも作業を継続する

# 1. サーバーにSSH接続
ssh user@remote-server

# 2. tmuxセッションを開始
tmux new -s deploy

# 3. 長時間かかる処理を実行
./deploy.sh

# 4. Ctrl+b → d でデタッチ(処理はバックグラウンドで継続)

# 5. いったん切断してもOK

# 6. 再接続後にアタッチして状態を確認
tmux attach -t deploy

練習問題

問題1

work という名前のtmuxセッションを作成し、デタッチしてください。その後、セッションの一覧を表示してから再アタッチしてください。

問題2

tmuxセッション内で画面を上下に分割し、上のペインで top コマンドを実行、下のペインで別の作業ができる状態にしてください。

問題3

セッション内に新しいウィンドウを2つ追加し、それぞれ logs と editor という名前を付けてください。


練習問題の答え

問題1の答え

# セッション作成
tmux new -s work

# デタッチ(tmux内で)
# Ctrl + b → d

# セッション一覧確認(tmux外で)
tmux ls

# 再アタッチ
tmux attach -t work

問題2の答え

# tmux内で上下に分割
# Ctrl + b → "

# 上のペインで top を実行
top

# 下のペインへ移動
# Ctrl + b → ↓

# 下のペインで別の作業
ls -la

問題3の答え

# 新しいウィンドウ作成
# Ctrl + b → c

# ウィンドウ名を logs に変更
# Ctrl + b → ,
# "logs" と入力してEnter

# さらに新しいウィンドウ作成
# Ctrl + b → c

# ウィンドウ名を editor に変更
# Ctrl + b → ,
# "editor" と入力してEnter

# ウィンドウ一覧で確認
# Ctrl + b → w