5 分鐘快速上手 Linux tmux 終端機分割畫面指令

用 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 有更完整的用法

參考資料