端末多重化ソフトウェアである tmux の基本的な使い方をまとめました。tmuxを使用することで、ひとつのターミナル上で複数の仮想端末を立ち上げられたり、サーバーで作業していてsshが切れたとしてもプログラムは仮想端末上で動いたままなので、再度セッションに接続することによって作業が再開できたりと非常に便利です。
CentOSの場合はEPELリポジトリを追加してインストールします。
$ rpm -i http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm$ yum -y install tmux
MacはHomebrewからインストール可能です。
$ brew install tmux
コマンドの説明をする前に予備知識ですが、接頭辞がtmuxの場合は tmux を起動してない状態で使用するコマンド、C-bは tmux を起動した仮想端末内で使用するコマンドになります。C-bはプレフィックスキー、またはキーバインドどいいControl-bの略です。キーバインドを押した後に続いて実行したい操作に対応するキーを入力する事で、ウィンドウ内でのコマンドを実行する形になります。また、接頭辞:〜はC-b + :〜のコマンドモードにはいるためのコマンドを省略しています。
tmuxで起動する仮想端末の構成要素は以下の3つです。
セッションに関連する操作を説明していきます。
仮想端末を起動してセッションを開始するにはtmuxまたはtmux new-sessionコマンドを使用します。
画面下に緑色のバーが表示されたら、セッションが作成されアタッチしている状態になります。左下に表示されているのが [セッション名] ウィンドウ番号:ウィンドウ名です。デフォルトでは以下の通りです。

セッション名はセッションを作成する時にtmux new-session -s <name>と指定するか、アタッチしている状態でC-b + $または、:rename-session <name>で変更することができます。アタッチしてない状態でtmux rename -t <old-name> <new-name>でも可能です。
ウィンドウ名はC-b + ,または、:rename-window <name>で変更です。
| コマンド | 機能 |
|---|---|
| tmux | 新規セッションの開始 |
| tmux new-session -s <name> | 新規セッションの開始(名前指定) |
| C-b + $ | セッション名変更 |
| :rename-session <name> | セッション名変更 |
| tmux rename -t <old-name> <new-name> | セッション名変更 |
| C-b + , | ウィンドウ名変更 |
| :rename-window <name> | ウィンドウ名変更 |
セッションをデタッチするにはC-b + dを実行します。仮想端末が終了して元の画面に戻ります。
| コマンド | 機能 |
|---|---|
| C-b + d | セッションのデタッチ |
| :detach-client | セッションのデタッチ |
セッションをアタッチするにはtmux a -t <session-name>を実行します。セッションの開始とは違って、既に作成されているセッションに再び入る事をアタッチといいます。tmux aのみの場合、最後に起動していたセッションにアタッチされます。
| コマンド | 機能 |
|---|---|
| tmux attach -t <session-name> | 指定したセッションにアタッチ |
| tmux a -t <session-name> | 指定したセッションにアタッチ |
| tmux a | 直近にアタッチしていたセッションにアタッチ |
セッションを削除するにはtmux kill-session -t <session-name>を実行します。tmux kill-sessionのみだと最後に起動していたセッションが削除されます。全てのセッションを削除する場合はtmux kill-serverです。ちなみに、アタッチ中に全てのウィンドウをexitで抜けてもセッションが削除されます。
| コマンド | 機能 |
|---|---|
| tmux kill-session -t <session-name> | 指定したセッションを削除 |
| tmux kill-session | 直近にアタッチしてたセッションを削除 |
| tmux kill-server | セッションを全て削除 |
起動しているセッションを確認するにはtmux lsを実行します。セッションに接続されてるクライアントを確認するにはtmux lscです。
$ tmux lsfuga: 1 windows (created Thu Jul 9 00:01:19 2015) [106x6]hoge: 1 windows (created Wed Jul 8 23:05:24 2015) [106x6]
| コマンド | 機能 |
|---|---|
| tmux list-session | セッション一覧 |
| tmux ls | セッション一覧 |
| tmux list-client | クライアント一覧 |
| tmux lsc | クライアント一覧 |
ウィンドウに関連する操作を説明していきます。
ウィンドウを作成するにはC-b + cまたは:new-windowを実行します。また、デタッチした状態でtmux new-windowを実行すると最後に起動していたセッションにウィンドウが作成されますが、これはあまり使う事は無いでしょう。現在選択されているウィンドウはウィンドウ名の横に*が付いています。ウィンドウの名前変更は上述していますがC-b + ,です。

| コマンド | 機能 |
|---|---|
| C-b + c | ウィンドウ作成 |
| :new-window | ウィンドウ作成 |
| tmux new-window | ウィンドウ作成 |
ウィンドウが複数あって移動したい場合はC-b + nで右側のウィンドウに、C-b + pで左側のウィンドウに移動します。C-b + <number>でウィンドウ番号を指定して移動することもできます。C-b + wを実行するとウィンドウの一覧が表示されますので、選択してEnterか数字を押すことでも移動できます。
| コマンド | 機能 |
|---|---|
| C-b + n | ウィンドウ移動(next) |
| C-b + p | ウィンドウ移動(pre) |
| C-b + <number> | 指定した番号のウィンドウに移動 |
| C-b + w | ウィンドウ一覧表示(矢印キーで選択してEnterか数字を押すと移動) |
C-b + &を実行することでウィンドウを強制終了することができます。また、exitで最後まで抜けていっても終了可能です。
| コマンド | 機能 |
|---|---|
| C-b + & | ウィンドウ強制終了 |
ペインに関する操作を説明していきます。
ペインの分割は自由自在です。C-b + "で横分割、C-b + %で縦分割することができます。
| コマンド | 機能 |
|---|---|
| C-b + “ | ペイン横分割 |
| C-b + % | ペイン縦分割 |
分割したペインはC-b + oで移動できます。~/.tmux.confを設定することによってマウスでの移動も出来るようになりますがそれはまた別の機会に。またC-b + qで以下の画面のようにペインのインジケータが表示されます。これが表示されてる間に数字を押す事でペインを移動することが可能です。

| コマンド | 機能 |
|---|---|
| C-b + o | ペインの移動 |
| C-b + q | インジケータ表示 |
| :display-panes | インジケータ表示 |
| C-b + q + <number> | 表示された番号のペインに移動 |
ペインの終了は2パターンあり、現在のペインを終了する場合はC-b + xで、現在のペイン以外を終了(分割解除)する場合はC-b + !を実行します。
| コマンド | 機能 |
|---|---|
| C-b + x | ペイン強制終了(現在のペインを終了する) |
| C-b + ! | ペイン分割解除(現在のペイン以外が終了する) |
ペインを分割したのはいいけど場所を入れ替えたいと思った時は、C-b + {とC-b + }でペインを入れ替えることが可能です。
| コマンド | 機能 |
|---|---|
| C-b + { | ペインの入れ替え(現在のペインを左側のペインと入れ替える) |
| C-b + } | ペインの入れ替え(現在のペインを右側のペインと入れ替える) |
同じコマンドも書いてたりしましたので、これだけ使えれば基本は大丈夫というコマンドだけで一覧にまとめました。基本的にコマンドモードC-b + :は、個人的にほとんど使わないので省きました。
| コマンド | 機能 |
|---|---|
| tmux / tmux new-session -s <name> | 新規セッションの開始 |
| C-b + $ | セッション名変更 |
| C-b + , | ウィンドウ名変更 |
| C-b + d | セッションのデタッチ |
| tmux a / tmux a -t <session-name> | セッションにアタッチ |
| tmux ls | セッション一覧 |
| tmux kill-session -t <session-name> | セッションを削除 |
| C-b + c | ウィンドウ作成 |
| C-b + n | ウィンドウ移動(next) |
| C-b + p | ウィンドウ移動(pre) |
| C-b + w | ウィンドウ一覧表示で移動 |
| C-b + & | ウィンドウ強制終了 |
| C-b + “ | ペイン横分割 |
| C-b + % | ペイン縦分割 |
| C-b + o | ペインの移動 |
| C-b + q + <number> | ペインのインジケータ表示・移動 |
| C-b + x | ペイン強制終了 |
引用をストックしました
引用するにはまずログインしてください
引用をストックできませんでした。再度お試しください
限定公開記事のため引用できません。