モーダルを閉じる工作HardwareHub ロゴ画像

工作HardwareHubは、ロボット工作や電子工作に関する情報やモノが行き交うコミュニティサイトです。さらに詳しく

利用規約プライバシーポリシー に同意したうえでログインしてください。

工作HardwareHub ロゴ画像 (Laptop端末利用時)
工作HardwareHub ロゴ画像 (Mobile端末利用時)

tmux の基本的な使い方

モーダルを閉じる

ステッカーを選択してください

モーダルを閉じる

お支払い内容をご確認ください

購入商品
」ステッカーの表示権
メッセージ
料金
(税込)
決済方法
GooglePayマーク
決済プラットフォーム
確認事項

利用規約をご確認のうえお支払いください

※カード情報はGoogleアカウント内に保存されます。本サイトやStripeには保存されません

※記事の執筆者は購入者のユーザー名を知ることができます

※購入後のキャンセルはできません

作成日作成日
2015/04/21
最終更新最終更新
2022/07/01
記事区分記事区分
一般公開

目次

    アカウント プロフィール画像 (サイドバー)

    優しくしてください

    0
    ステッカーを贈るとは?

    tmux は GNU Screen のような仮想端末を提供します。

    必要最小限の設定

    ~/.tmux.conf

    # プレフィックスキー
    set -g prefix C-t
    
    # C-t C-t でトグル
    bind C-t last-window
    
    # Vim 風のキーバインド
    setw -g mode-keys vi
    
    # ステータスバーの色
    set -g status-fg white
    set -g status-bg black
    setw -g window-status-current-fg black
    setw -g window-status-current-bg yellow
    
    # 履歴の長さ
    set-option -g history-limit 10000
    

    主要な操作

    セッション名を指定して新規セッションを作成

    $ tmux new -s セッション名
    

    デタッチ

    C-t d
    

    セッション一覧を表示

    $ tmux ls
    

    アタッチ

    直近のセッション

    $ tmux a
    

    セッション名を指定

    $ tmux a -t セッション名
    

    他のクライアントをデタッチしてからアタッチ

    tmux a -d
    tmux a -d -t セッション名
    

    セッションの削除

    $ tmux kill-session -t セッション名
    

    ウィンドウの作成

    C-t c
    

    二つのウィンドウを行ったり来たり

    C-t C-t
    

    前後のウィンドウに移動

    previous

    C-t p
    

    next

    C-t n
    

    ウィンドウの一覧

    C-t w
    

    ウィンドウ名の変更

    C-t ,
    

    セッション名の変更

    C-t $
    

    Vim 風の操作で過去のターミナル履歴を閲覧

    C-t [
    

    範囲選択の開始 (スペースキー) → 範囲選択の完了 (エンター) → 貼り付け (C-t ])

    ヘルプ

    C-t ?
    

    ウィンドウを閉じる

    C-t &
    

    複数のサーバを同時操作

    .tmux.conf に以下の設定を追加します。C-t e で同時に複数ペインを操作できるようになります。

    bind e setw synchronize-panes on
    bind E setw synchronize-panes off
    

    ペインを水平方向または垂直方向に追加

    C-t %
    C-t "
    

    ペインを移動

    C-t o
    C-t ;
    

    ペインを破棄

    C-t x
    

    ペインを整理

    C-t space
    

    ペインを拡大、戻す

    C-t z
    

    ペイン番号を環境変数で取得できます。

    echo ${TMUX_PANE}
    %7
    
    echo ${TMUX_PANE} | sed 's/%//' | awk '{ printf "%04d\n", $1 }'
    0007
    

    bash スクリプトから設定

    コマンドラインから tmux を設定することができます。以下の例は、複数サーバに同時に ssh を行いたい場合に便利です。

    #!/bin/bash
    set -eu
    set -o pipefail
    
    NAME="awesome-window"
    LAYOUT="tiled"  # "even-horizontal" "even-vertical"
    
    CMDS=(
    "ssh host1"
    "ssh host2"
    "ssh host3"
    "ssh host4"
    "ssh host5"
    "ssh host6"
    "ssh host7"
    "ssh host8"
    "ssh host9"
    )
    
    tmux new-window -n ${NAME}
    
    for i in $(seq ${#CMDS[@]}); do
      tmux send-keys -t ${NAME}.$(expr $i - 1) "${CMDS[$i - 1]}"
      if [ $i -ne ${#CMDS[@]} ]; then
        tmux split-window -t ${NAME}
        tmux select-layout -t ${NAME} ${LAYOUT}
      fi
    done
    
    tmux set-window-option -t ${NAME} synchronize-panes on
    
    0
    詳細設定を開く/閉じる
    アカウント プロフィール画像 (本文下)

    優しくしてください

    記事の執筆者にステッカーを贈る

    有益な情報に対するお礼として、またはコメント欄における質問への返答に対するお礼として、 記事の読者は、執筆者に有料のステッカーを贈ることができます。

    さらに詳しく →
    ステッカーを贈る コンセプト画像

    Feedbacks

    Feedbacks コンセプト画像

      ログインするとコメントを投稿できます。

      関連記事

      • 使い所が難しいマイナーな運用コマンド
        コマンドのエイリアスを登録する (update-alternatives) mybin という名前のコマンドを登録 sudo update-alternatives --install /usr/local/bin/mybin mybin /usr/bin/echo 10 sudo update-alternatives --install /usr/local/bin/mybin mybin /...
        けんちゃんけんちゃん12/1/2022に更新
        いいねアイコン画像0
      • ipコマンドの基本的な使い方
        ネットワーク関連のコマンドはたくさんあります。しかしながら、その一部は ip コマンドに集約できます。 基本形 ("man ip" より抜粋) $ ip OBJECT COMMAND OBJECT: link, neigh, addr, route (等) COMMAND: show, add, delete (等) データリンク層のネットワークデバイス情報 (ifconfigコマンドの代用) M...
        こもれびさんこもれびさん3/8/2017に更新
        いいねアイコン画像0
      • プロセス関連のコマンド
        サムネイル画像-7b5901f600
        プロセスID関連 (ps, pgrep, pkill) 全プロセスを表示するためには $ ps ax とすればよく、その表示を見やすくするためには "u" と "w" を追加して $ ps auxw とすればよいです。表示件数自体は同じです。そのうち特定のコマンドのプロセスIDだけを表示したい場合は $ ps ax | grep 'my_script' | grep -v grep | awk '...
        kenken12/27/2021に更新
        いいねアイコン画像0
      • rpmとyumのチートシート
        サムネイル画像-f69c6665b8
        rpm (RedHat Package Manager または RPM Package Manager) はRedHat系のパッケージ管理ツールで、yum (Yellowdog Updater Modified) は内部的にrpmを実行するメタパッケージ管理ツールです。rpmには柔軟性がありyumには利便性があります。 rpmは "rpmパッケージファイル" があれば何でもインストールできますが、...
        まるたんまるたん3/2/2022に更新
        いいねアイコン画像0
      • メモリおよびディスクリソースを調査するために便利なコマンドおよび周辺知識
        メモリ使用量を表示 (free) 既定ではキロバイト単位で表示されます。オプション "-b", "-k", "-m", "-g" を付与して実行するとそれぞれバイト、キロ、メガ、ギガで表示されます。 $ free total used free shared buffers cached Mem: 510824 ...
        しおまめしおまめ9/30/2017に更新
        いいねアイコン画像0