用 Terminal 在多視窗切換,不免俗的提到 screen 指令,
因為 screen 指令在 Red Hat RHEL 中把它 deprecated 掉了
所以改學一下 tmux 指令,如果學過 screen 指令的話,可以 5 分鐘快速上手
但可能要背一下指令,因為指令 操作 & 快捷鍵 略為不同
tmux 它比 screen 更強,值得一學
安裝
這邊分成五個系統講
Red hat 系列的 Linux (RHEL / Rocky Linux) 使用 yum
指令
$ yum install -y tmux
Debian / Ubuntu 系列的 Linux 使用 apt 指令
$ apt install -y tmux
Alpine Linux 用對應的 apk 指令
$ apk add -y tmux
最後 macOS 使用 homebrew 來裝
$ brew install -y tmux
如果你要極致一點,連在 Android 裡面的 Termux app 也要用的話
$ pkg install -y tmux
基本操作
打入 tmux 之後
底下會出現一個綠色的 bar 就成功進入指令了
tmux 的起頭快捷鍵都是 ctrl + b
,等等會慢慢介紹
分割視窗
水平分割視窗
ctrl + b
+ %
(百分比符號 % 有 shift 記得要按)
垂直分割視窗
ctrl + b
+ "
(雙引號 " 有 shift 記得要按)
然後分割視窗了之後用
ctrl + b
+ 方向鍵
可以自由切換各個正在使用的視窗
detach (暫時卸離) / attach (重新接回)
detach / attach 這個我不知道中文叫什麼
暫且翻譯成 detach (暫時卸離) 跟 attach (重新接回) 好了
按 ctrl + b
+ d
就會把整組視窗 detach
暫時卸離,暫丟在背景,綠色 bar 消失
再次打 tmux 指令之後,你會發現又起了一個新的 session
你可以打點東西區分其不同
再次按 ctrl + b
+ d
detach 暫丟在背景
(如果是使用 screen 指令的朋友,它的作用跟 ctrl + a + d 是一樣的)
這時背景有二個 session
用 tmux ls
指令查看所有 session
$ tmux ls
(如果是使用 screen 指令的朋友,它的作用跟 screen -r
是一樣的)
用以下指令接回第一個 session
$ tmux attach-session -t 0
指令太長不好打,通常會縮寫變成
tmux a -t 0
數字請自行變通,
接回第二個 session 就是 tmux a -t 1
以此類推
(如果是使用 screen 指令的朋友,它的作用跟 screen -r 數字
是一樣的)
關閉當前視窗 (window) 或 面板 (pane)
最後關閉當前的視窗 (window) / 面板 (pane)
可以用萬用的快捷鍵
ctrl
+ d
或者 exit
指令
$ exit
離開或者登出
基礎就這樣子,如果想要更華麗更完整的點的話可以繼續看
其他補充
tmux 它其實有 session / window / pane 的概念
tmux 剛執行的時候會建立一個 session,建立一個 window
執行分割畫面之後,變成一個 window 二個 pane
你可以用
ctrl + b
+ w
打開視窗預覽頁,切來切去
其他可以參考 tmux 的 cheat sheet 有更完整的用法