tmux/tmux
tmux source code
C
34996
2116
前言#
因為系上開給程式設計一的 VM 需要設定 cloudflare tunnel 才能連線
( 有興趣可以看
我的 cloudflare-tunnel 設定過程 )
所以想用 tmux
來讓 tunnel 一直在背景執行
也可以隨時查看 tunnel 的狀態
tmux 概念#
tmux
可以分成三個層級
- Session
- Window
- Pane
Session#
Session 是 tmux
的最高層級
可以想像成一個 tmux 的工作區
一個 Session 可以有多個 Window
( 列出所有可用的 session )
Window#
Window 是 tmux
的第二層
可以想像成一個 Session 中的不同視窗
一個 Window 可以有多個 Pane
Pane#
Pane 是 tmux
的第三層
可以想像成一個 Window 中的不同分割畫面
一個 Pane 只能有一個 Shell
同一個 Window 中的 Pane 可以被水平或垂直分割
( 所以可以被切成這樣 )
tmux 常用指令#
如果是在 tmux 中,可以直接按 Ctrl + b
來進入 tmux 的指令模式
( 像是在 vim 中按 :
一樣 )
Session#
從 command line :
tmux new -s <session-name>
: 新增一個名為<session-name>
的 sessiontmux ls
: 列出所有可用的 sessiontmux attach -t <session-name>
: 連接到名為<session-name>
的 session
在 tmux 中 :
Ctrl + b + d
: 離開 tmux session
並不會把 session 關掉,只是離開而已
所以在 session 中的程式還是會繼續執行 !!!Ctrl + b + s
: 列出所有可用的 session
Window#
Ctrl + b + c
: 新增一個 windowCtrl + b + n
: 切換到下一個 windowCtrl + b + p
: 切換到上一個 windowCtrl + b + w
: 列出所有可用的 window
Pane#
pane 分割:
Ctrl + b + %
: 垂直分割畫面 ( 左右分割 )Ctrl + b + "
: 水平分割畫面 ( 上下分割 )Ctrl + b + x
: 關閉目前的 pane
調整 pane 的大小:
可以先按 Ctrl + b
再按 :
進入 tmux 的指令模式
然後輸入 resize-pane
( 可以按 Tab
來自動補全 )
再加上 -U
( 上 ) -D
( 下 ) -L
( 左 ) -R
( 右 )
再加上數字來調整 pane 的大小
在 pane 之間切換:
Ctrl + b + <arrow-key>
: 切換到指定的 paneCtrl + b + q
: 會在 pane 上顯示一個數字Ctrl + b + q + <number>
: 切換到指定的 pane