tmux 入門 - ターミナル多重化の基本
この記事でできるようになること
- SSH が切れても消えない作業場所を tmux で用意できる
- セッション・ウィンドウ・ペインの 3 階層を説明できる
- デタッチとアタッチで作業を中断し、あとから再開できる
前提知識(先に読むと理解しやすい記事)
この記事でできるようになること
tmuxを使って SSH 接続が切れても処理を続けられる- セッション・ウィンドウ・ペインの 3 階層 が分かる
Ctrl+bから始まる prefix キー操作 に慣れる- デタッチ(席を離れる)とアタッチ(戻る)を自由にできる
- 1 つのターミナル入力したコマンドを解釈してコンピュータに実行させる対話プログラム。画面を分けて、複数の作業を並べられる
対象読者: SSH でサーバ作業をする方。回線が切れるとログ取得が止まって困っている方。ターミナルを 1 つしか開けないのは不便だと感じている方。
導入:リナが SSH 切断で泣いた日
tmux(ティーマックス)で防げる。結論(実務の型)
- 長い処理を流す前に
tmuxで入る(これだけで SSH 事故が大きく減る) - 席を離れるとき
Ctrl+b→dでデタッチ - 戻ったら
tmux attachで再開 - 画面を増やしたい → ウィンドウ(
Ctrl+b c) - 画面を分けたい → ペイン(
Ctrl+b %/Ctrl+b ")
先に覚える「脱出のしかた」
tmux は画面の見た目が変わる。だから「戻れなくなった」と感じる人が多い。迷ったら次の 3 つで抜けられる。
| 困った状態 | 脱出のしかた |
|---|---|
| tmux の中で迷子になった | Ctrl+b を押して離す → d(デタッチ) |
| デタッチしたあと画面に戻りたい | tmux attach |
| そもそも中にいるか分からない | echo $TMUX と打つ。何か表示されれば tmux の中 |
Ctrl+b → d はいつでも使える。この 2 打で必ず元のターミナルに戻れる。
なお、セッションを消してしまっても、消えるのは画面だけ。保存済みのファイルは残るので、落ち着いて試してほしい。
1. tmux のインストール
結論: tmux は入っていないこともある。まず
tmux -Vで確認し、なければ apt / dnf で入れる。
バージョン確認
$ 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
インストールできない場合: 共用サーバでは sudo(管理者としてコマンドを実行するしくみ)が使えないことがある。その場合は自分で入れようとせず、サーバの管理者に依頼しよう。
2. はじめての tmux セッション
結論:
tmuxと打つだけでセッションが始まる。画面の下に出る緑の帯が、tmux の中にいる証拠。
tmux と打ってみよう。Ctrl+b → d でいつでも抜けられる。これだけ覚えておけば迷子にならないよ。セッション(session)とは
セッションは「tmux が預かってくれる作業場所ひとつ」のこと。喫茶店の席を 1 つ取るイメージだよ。席には荷物(実行中のコマンド)を置いたままにできる。あなたが席を離れても、荷物はそのまま残る。
セッションを開く
$ tmux
実行すると画面の下に緑の帯が出る。これが tmux の中にいる証拠。
[0] 0:bash* "hostname" 14:00 23-May-26
何か作業してみる
中ではいつものシェルが動いている。シェルは「打ったコマンドを受け取って実行してくれるプログラム」のこと。bash や zsh がその代表だよ。試しに何か実行してみよう。
$ echo "tmux の中で動いてる" $ pwd
3. デタッチとアタッチ - tmux 最大の武器
結論:
Ctrl+b → dで席を離れ、tmux attachで戻る。SSH が切れてもセッションはサーバ側で生き続ける。
デタッチ: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 がセッションの名前。ちゃんと生きている。
アタッチ:戻る
$ tmux attach
さっきの画面がそのまま戻る。コマンド履歴も、開いていたファイルも、実行中の処理も残っている。
tmux で入る。あとは普通に作業する。tmux attach で復帰、そのまま作業を続けられる。リナの失敗:exit で消してしまった
exit と打ったら、tmux attach が「no sessions」って言うんです。さっきの作業はどこですか?exit は「セッションを閉じる」命令なんだ。デタッチとは違うんだよ。Ctrl+b → d、部屋ごとたたむのが exit。今日から exit は「もう戻らないとき」だけに使おう。Ctrl+b → d を体に覚えさせます!よくある勘違い: exit でシェルを抜けるとセッションが消える。消えたセッションはアタッチで戻せない。「席を離れる」のは Ctrl+b → d(デタッチ)だけ。
4. prefix キーって何?
結論: prefix キー(既定は
Ctrl+b)は「次の入力は tmux への命令」と知らせる合図。押して離してから命令キーを押す。
Ctrl+b。Ctrl+b の直後の d は「デタッチして」という命令。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で作り、n/p/ 数字キーで切り替える。
新規ウィンドウを作る
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 つの画面を分ける
結論: ペインは 1 つの画面を縦横に分ける機能。
Ctrl+b %で左右、Ctrl+b "で上下に分け、矢印キーで移動する。
縦に分ける(左右に分割)
Ctrl+b %
画面が縦線で割れる。左右 2 つのペインになる。
横に分ける(上下に分割)
Ctrl+b "
画面が横線で割れる。上下 2 つのペインになる。
覚え方:
%は縦棒っぽい → 縦分割(左右)"は横向きの引用符 → 横分割(上下)
直感と逆に感じる人が多い。「キーの形」で覚えるのが楽。
ペイン間の移動
Ctrl+b ← # 左のペインへ Ctrl+b → # 右のペインへ Ctrl+b ↑ # 上のペインへ Ctrl+b ↓ # 下のペインへ Ctrl+b o # 次のペインへ順送り
ペインを閉じる
そのペインで exit と打つ。または Ctrl+b x(確認プロンプトあり)。
7. つまずきポイント集
結論: prefix の押しっぱなし、tmux 内での二重起動、
exitでのセッション消去が初心者の三大つまずき。
ピンチ 1: Ctrl+b を押しっぱなしにする
症状: prefix のあとのキーが効かない。または変な動きになる。
原因: Ctrl+b を 押しっぱなし で次のキーを押している。
対処: Ctrl+b は一度押して 離す。それから次のキーを押す。
ピンチ 2: tmux の中で tmux を起動してしまう
症状: tmux と打ったのに新しい画面が開かない。次のメッセージだけが出る。
sessions should be nested with care, unset $TMUX to force
原因: すでに tmux の中にいる。tmux は入れ子(tmux の中の tmux)をデフォルトで止めてくれる。
対処: 何も壊れていない。そのまま今の tmux を使えばよい。今どこにいるか確かめたいときは echo $TMUX と打つ。何か表示されれば tmux の中にいる。
ピンチ 3: exit でセッションごと消した
症状: アタッチで戻れない。「no sessions」と言われる。
原因: 「席を離れる」つもりで exit を打ち、セッションを閉じてしまった。
対処: 消えたセッションは戻せない。次回からは Ctrl+b → d(デタッチ) を使うこと。
8. 実用テンプレ:SSH 作業を tmux で守る
結論: SSH 直後に
tmux attach || tmuxで入る。離席はCtrl+b → d、復帰はtmux attach。
コピペ用:事故らない型
# 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 事故の大半が消える。
ミニ課題で手を動かそう
結論: デタッチとアタッチ、ウィンドウ切り替え、ペイン分割の 3 課題を手で動かして覚える。
課題 1: セッションを開いてデタッチし、アタッチで戻る
やること: tmux のセッションを 1 つ開こう。いったん席を離れて、また戻ってこよう。
ヒント1(方向づけ)を見る
「閉じる」ではなく「席を離れる」操作を使う。離れたあとは、セッションが残っているかを一覧で確かめよう。
ヒント2(コマンド名)を見る
開くのは tmux。席を離れるのは Ctrl+b → d。一覧は tmux ls。戻るのは tmux attach。
答えを見る
$ tmux # → tmux に入る $ echo "テスト" # Ctrl+b → d でデタッチ $ tmux ls # → セッションが残っていることを確認 $ tmux attach # → さっきの画面が戻る
課題 2: ウィンドウを 2 つ作って切り替える
やること: tmux の中でウィンドウをもう 1 つ作ろう。2 つのウィンドウを行き来してみよう。
ヒント1(方向づけ)を見る
ウィンドウはブラウザのタブに当たる。まず「作る」操作をして、次に「番号で選ぶ」操作を試そう。
ヒント2(コマンド名)を見る
作るのは Ctrl+b → c。番号で選ぶのは Ctrl+b → 0 や Ctrl+b → 1。順送りは Ctrl+b → n。
答えを見る
$ tmux # Ctrl+b c で 1 番ウィンドウ作成 # Ctrl+b 0 で 0 番に戻る # Ctrl+b 1 で 1 番に戻る # Ctrl+b n で次へ
課題 3: 1 つのウィンドウを縦横に分ける
やること: 画面を左右に分けよう。さらに上下にも分けて、それぞれで違うコマンドを動かしてみよう。
ヒント1(方向づけ)を見る
分割の記号は 2 つある。キーの形と分割の向きを結びつけて考えよう。移動には矢印キーを使う。
ヒント2(コマンド名)を見る
左右に分けるのは Ctrl+b → %。上下に分けるのは Ctrl+b → "。移動は Ctrl+b → 矢印キー。
答えを見る
$ 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 階層を意識すると、並行作業が一気に楽になる