はじめに

こんにちは!今回はtmuxコマンドについて解説します。

tmuxは「terminal multiplexer」の略で、1つのターミナルから複数のセッション・ウィンドウ・ペインを管理できる高機能なツールです。screenの後継版として、より便利な機能が充実しています。

リモートサーバー作業をする人なら、これなしでは生きていけないくらい必須ですよ!


tmuxコマンドとは

tmuxは、複数のターミナルセッション、ウィンドウ、ペインを管理するターミナルマルチプレクサです。screenと違い、より柔軟な設定やプラグイン対応が可能で、モダンな開発環境では標準的なツールになっています。

セッションをデタッチ・リアタッチできるため、SSH接続を閉じてもプロセスは実行を続けます。複数の作業を効率的に管理したい場合に最適です。


基本構文

1
tmux [コマンド] [オプション]

セッション、ウィンドウ、ペインを階層的に管理できます。


主なオプション

オプション 説明
new-session -s name 新しいセッションを作成
list-sessions セッション一覧を表示
attach-session -t name セッションに接続
detach-client セッションをデタッチ
kill-session -t name セッションを終了
new-window -t name 新しいウィンドウを作成
split-window ペインに分割
send-keys ペインにキー入力を送信

使用例

例1: 新しいセッションを作成

1
tmux new-session -s mysession

実行結果:

1
(tmux内に入る)

新しいセッションを作成します。

例2: セッション作成後、すぐにデタッチ

1
tmux new-session -s work -d

実行結果:

1
(コマンドプロンプトに戻る)

セッションを作成後、すぐに切断します。

例3: セッション一覧を表示

1
tmux list-sessions

実行結果:

1
2
mysession: 1 windows (created Fri Jan  3 14:00:00 2026)
work: 1 windows (created Fri Jan  3 14:10:00 2026)

現在のセッション一覧を確認します。

例4: セッションに接続

1
tmux attach-session -t mysession

実行結果:

1
(セッションが復活する)

デタッチしたセッションに再接続します。

例5: ウィンドウを作成

セッション内で Ctrl+b c を押すと、新しいウィンドウが作成されます。

例6: ペインに水平分割

セッション内で Ctrl+b " を押すと、ウィンドウが上下に分割されます。

例7: ペインに垂直分割

セッション内で Ctrl+b % を押すと、ウィンドウが左右に分割されます。

例8: ペイン間を移動

Ctrl+b の後、矢印キー(↑ ↓ ← →)でペイン間を移動します。

例9: セッション内でコマンドを実行

1
tmux send-keys -t mysession 'echo Hello World' Enter

実行結果:

1
(セッション内でコマンドが実行される)

セッション内にコマンドを送信します。

例10: セッションを終了

1
tmux kill-session -t mysession

実行結果:

1
(セッションが削除される)

セッションを完全に削除します。


Tips・注意点

エイリアスを設定する

1
2
3
alias tm='tmux'
alias tma='tmux attach-session'
alias tml='tmux list-sessions'

よく使うコマンドをエイリアスで短縮できます。

セッション名の省略

1
tmux attach -t myses

セッション名の最初の数文字でも接続できます。

設定ファイル(~/.tmux.conf)を使う

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# キーバインディングをカスタマイズ
set -g prefix C-a
unbind C-b
bind C-a send-prefix

# ペイン移動をVimライクに
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

~/.tmux.confで設定をカスタマイズできます。

複数セッションの管理

1
tmux list-sessions

複数セッションを作成・管理できます。


実践的な使い方

開発環境のセッション構築

1
2
3
4
5
6
tmux new-session -s dev -d
tmux send-keys -t dev 'cd ~/project && vim' Enter
tmux new-window -t dev -n test
tmux send-keys -t dev:test 'npm test' Enter
tmux new-window -t dev -n server
tmux send-keys -t dev:server 'npm start' Enter

複数のウィンドウでvim、テスト、サーバーを同時に実行できます。

リモートサーバーでの作業

1
2
3
4
5
ssh user@server
tmux new-session -s work
# セッション内で作業
# Ctrl+b d でデタッチ
tmux attach-session -s work

リモートサーバーに接続して、セッションを作成し、必要に応じて再接続できます。

ペイン分割での並列作業

1
2
3
4
5
6
tmux new-session -s split
# Ctrl+b " で水平分割
# 上のペイン: npm start
# 下のペイン: npm test
# Ctrl+b % で垂直分割
# 右のペイン: vim

複数のペインで異なるタスクを実行できます。

自動セッション作成スクリプト

1
2
3
4
5
#!/bin/bash
tmux new-session -s myapp -d
tmux send-keys -t myapp 'cd ~/myapp && npm install' Enter
tmux new-window -t myapp -n dev
tmux send-keys -t myapp:dev 'npm run dev' Enter

スクリプトで自動的にセッションとウィンドウを構築できます。


まとめ

tmuxコマンドのポイント:

  • ターミナルマルチプレクサで複数セッション・ウィンドウ・ペインを管理
  • screenより高機能で柔軟な設定が可能
  • 基本形: tmux new-session -s nametmux attach-session -t name
  • SSH接続を切ってもセッションとプロセスは保存される
  • ペイン分割で複数タスクを並列表示できる
  • よく使う組み合わせ: tmux new-session -s dev -dtmux attach-session -t dev

モダンな開発環境では必須のツール。ショートカットキーを覚えると、作業効率がめっちゃ上がりますよ!