Movatterモバイル変換


[0]ホーム

URL:


TASK NOTES

TASK NOTES

tmuxの基本的な使い方とコマンドのまとめ

スポンサーリンク

端末多重化ソフトウェアである tmux の基本的な使い方をまとめました。tmuxを使用することで、ひとつのターミナル上で複数の仮想端末を立ち上げられたり、サーバーで作業していてsshが切れたとしてもプログラムは仮想端末上で動いたままなので、再度セッションに接続することによって作業が再開できたりと非常に便利です。

tmuxのインストール

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の場合は tmux を起動してない状態で使用するコマンド、C-bは tmux を起動した仮想端末内で使用するコマンドになります。C-bはプレフィックスキー、またはキーバインドどいいControl-bの略です。キーバインドを押した後に続いて実行したい操作に対応するキーを入力する事で、ウィンドウ内でのコマンドを実行する形になります。また、接頭辞:〜C-b + :〜のコマンドモードにはいるためのコマンドを省略しています。

tmuxで起動する仮想端末の構成要素は以下の3つです。

  • セッション:起動した仮想端末全体
  • ウィンドウ:セッション内の画面単位
  • ペイン:ウィンドウを分割した単位

セッション関連コマンド

セッションに関連する操作を説明していきます。

セッションの開始

仮想端末を起動してセッションを開始するにはtmuxまたはtmux new-sessionコマンドを使用します。

画面下に緑色のバーが表示されたら、セッションが作成されアタッチしている状態になります。左下に表示されているのが [セッション名] ウィンドウ番号:ウィンドウ名です。デフォルトでは以下の通りです。

f:id:tasukujp:20150708233928p:plain

セッション名はセッションを作成する時に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 + ,です。

f:id:tasukujp:20150709215814p:plain

コマンド機能
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で以下の画面のようにペインのインジケータが表示されます。これが表示されてる間に数字を押す事でペインを移動することが可能です。

f:id:tasukujp:20150709220403p:plain

コマンド機能
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ペイン強制終了
検索
人気記事
カテゴリー
©2014 TASK NOTES

引用をストックしました

引用するにはまずログインしてください

引用をストックできませんでした。再度お試しください

限定公開記事のため引用できません。

読者です読者をやめる読者になる読者になる

[8]ページ先頭

©2009-2025 Movatter.jp