tmux 入門 - ターミナル多重化の基本
この記事でできるようになること
tmuxを使って SSH 接続が切れても処理を継続 できる- セッション・ウィンドウ・ペインの 3 階層構造 が分かる
Ctrl+bから始まる prefix キー操作 に慣れる- デタッチ(席を離れる)とアタッチ(戻る)が自由にできる
- 1 つのターミナル画面を分割して複数作業を並行できる
対象読者: SSH でサーバ作業をするけど、回線が切れるとログ取得が止まる…と困っている方、ターミナルを 1 つしか開けないと不便と感じる方
導入:リナが SSH 切断で泣いた日
tmux(ティーマックス)を使えば防げるよ。結論(実務の型)
- 長時間処理を流す前に
tmuxで入る(これだけで SSH 事故が 9 割減) - 席を離れるとき
Ctrl+b→dでデタッチ - 戻ったら
tmux attachで何事もなく再開 - 画面を増やしたい → ウィンドウ(
Ctrl+b c) - 画面を分割したい → ペイン(
Ctrl+b %/Ctrl+b ")
1. tmux のインストール
バージョン確認
$ tmux -V
tmux 3.4
「command not found」と出たらインストール必要。
Ubuntu / Debian
$ sudo apt update $ sudo apt install tmux
CentOS / RHEL / Rocky Linux
$ sudo dnf install tmux
root 権限が無い場合: sudo が使えない共用サーバでは管理者に依頼するしかない。勝手にバイナリを /usr/local/bin/ に置く前に、運用ポリシーを確認すること。
2. はじめての tmux セッション
tmux って打ってみよう。Ctrl+b → d でいつでも抜けられる。これだけ覚えておけば迷子にならないよ。セッションを開く
$ tmux
実行すると画面下に緑のステータスバーが出る。これが tmux に入っている証拠。
[0] 0:bash* "hostname" 14:00 23-May-26
何か作業してみる
中ではいつものシェルが動いている。試しに何か実行してみる。
$ echo "tmux の中で動いてる" $ pwd
3. デタッチとアタッチ - tmux 最大の武器
デタッチ:Ctrl+b → d
tmux の中で次のキーを順に押す。
Ctrl+b d
すると緑のステータスバーが消えて、通常のターミナルに戻る。
[detached (from session 0)] $
重要な感覚: 「閉じた」のではなく「席を離れた」だけ。サーバ側で tmux セッションは生き続けている。
セッション一覧を確認
$ tmux ls
0: 1 windows (created Fri May 23 14:00:00 2026)
0 が session の名前。生きている。
アタッチ:戻る
$ tmux attach
さっきの画面がそのまま戻ってくる。コマンド履歴も、開いてたファイルも、実行中の処理も全部生きている。
tmux で入る。Wi-Fi が切れても、ノート PC を閉じても、tmux セッションは生きてる。次に SSH で繋ぎ直したら tmux attach で復帰、何事もなく作業継続。よくある勘違い: exit でシェルを抜けるとセッションが破棄される。「席を離れる」のはあくまで Ctrl+b → d(デタッチ)。exit は「セッションを閉じる」のでアタッチで戻れない。
4. prefix キーって何?
Ctrl+b。Ctrl+b を押した直後の d は「デタッチして」という tmux への命令、c は「新規ウィンドウ作って」という命令、っていう具合。prefix キーの基本パターン
Ctrl+b → 何かのキー
Ctrl+b は 押しっぱなしじゃない。Ctrl+b を離してから次のキーを押す。
覚えておきたい prefix コマンド(最初の 5 つだけでいい)
| キー | 動作 |
|---|---|
Ctrl+b d |
デタッチ |
Ctrl+b c |
新規ウィンドウ |
Ctrl+b n |
次のウィンドウへ |
Ctrl+b % |
ペイン縦分割 |
Ctrl+b " |
ペイン横分割 |
5. ウィンドウ:画面を切り替える
新規ウィンドウを作る
Ctrl+b c
c は create の c。新しいウィンドウが開いて、そっちに移動する。
ステータスバーを見ると:
[0] 0:bash- 1:bash*
0 と 1 の 2 つウィンドウがある。* が今いる場所、- が直前に居た場所。
ウィンドウを切り替える
Ctrl+b n # 次のウィンドウへ(next) Ctrl+b p # 前のウィンドウへ(previous) Ctrl+b 0 # 0 番のウィンドウへ直接 Ctrl+b 1 # 1 番のウィンドウへ直接
ウィンドウを閉じる
そのウィンドウのシェルで exit する。または Ctrl+b & でも閉じられる(確認プロンプトが出る)。
6. ペイン:1 つの画面を分割する
縦に分ける(左右に分割)
Ctrl+b %
画面が縦線で割れて、左右 2 つのペインになる。
横に分ける(上下に分割)
Ctrl+b "
画面が横線で割れて、上下 2 つのペインになる。
覚え方:
%は縦棒っぽい → 縦分割(左右)"は横向きの引用符 → 横分割(上下)
直感と逆に感じる人が多い。「キーの形」で覚えるのが楽。
ペイン間の移動
Ctrl+b ← # 左のペインへ Ctrl+b → # 右のペインへ Ctrl+b ↑ # 上のペインへ Ctrl+b ↓ # 下のペインへ Ctrl+b o # 次のペインへ順送り
ペインを閉じる
そのペインで exit、または Ctrl+b x(確認プロンプトあり)。
7. つまずきポイント集
ピンチ 1: Ctrl+b を押しっぱなしにする
症状: prefix の後のキーが効かない、または変な動作になる。
原因: Ctrl+b を 押しっぱなし で次のキーを押している。
対処: Ctrl+b は一度押して 離す。それから次のキーを押す。
ピンチ 2: tmux の中で tmux を起動してしまう
症状: ステータスバーが二重になり、prefix キーが効かない(外側の tmux に取られる)。
原因: tmux 内のシェルでうっかり tmux と入力した。
対処: 入れ子の内側で exit するか、いったん全部デタッチして tmux ls で確認。
ピンチ 3: exit でセッションごと消した
症状: アタッチで戻れない。「no sessions」と言われる。
原因: 「席を離れる」つもりが exit でセッションを閉じた。
対処: 復活は不可能。次回からは Ctrl+b → d(デタッチ) を使うこと。
8. 実用テンプレ:SSH 作業を tmux で守る
コピペ用:事故らない型
# 1. サーバへ SSH ssh user@server # 2. 入った直後に tmux で入る(または既存セッションへ復帰) tmux attach || tmux # 3. 普通に作業(長時間のログ取得・ビルド・バックアップ等) tail -f /var/log/syslog # ... # 4. 席を離れる:Ctrl+b → d でデタッチ # 5. SSH が切れても OK、サーバ側で生き続ける # 6. 戻るときは再 SSH してから tmux attach
このパターン 1 つで SSH 事故の大半が消える。
ミニ課題で手を動かそう
課題 1: 1 つのセッションを開いてデタッチ、アタッチで戻る
$ tmux # → tmux に入る $ echo "テスト" # Ctrl+b → d でデタッチ $ tmux ls # → セッションが残っていることを確認 $ tmux attach # → さっきの画面が戻る
課題 2: ウィンドウを 2 つ作って切り替える
$ tmux # Ctrl+b c で 1 番ウィンドウ作成 # Ctrl+b 0 で 0 番に戻る # Ctrl+b 1 で 1 番に戻る # Ctrl+b n で次へ
課題 3: 1 つのウィンドウを縦横に分割
$ tmux # Ctrl+b % で縦分割 # Ctrl+b " で横分割 # Ctrl+b 矢印キー で移動 # 各ペインで違うコマンドを動かしてみる(例: top と df -h と tail -f /var/log/syslog)
今日の 3 行まとめ
tmuxで入って、Ctrl+b → dで離脱、tmux attachで復帰。これだけで SSH 切断事故が消える- prefix キー(
Ctrl+b) の後に命令キーを押すのが tmux 操作の基本リズム - セッション > ウィンドウ > ペイン の 3 階層を意識すると並列作業が一気に効率化する