tmux:管理終端 Session、分割視窗的神器
學會怎麼部署工具後,尤其又知道怎麼使用 WSL,通常大部分都會本機完成開發後再丟到遠端主機執行。但有時候必須在遠端同時嘗試作業和看 log,就只能開兩個 SSH 視窗進去管理嗎?
學會怎麼部署工具後,尤其又知道怎麼使用 WSL,通常大部分都會本機完成開發後再丟到遠端主機執行。但有時候必須在遠端同時嘗試作業和看 log,就只能開兩個 SSH 視窗進去管理嗎?
在 Windows 上我們常常會切換多個應用程式來操作,例如同時開 Chrome 寫文章、同時又使用 Telegram 回訊息等等,而在 Linux 上操作感覺就好像要等一個指令做完才能進下一個的感覺。其實這時候我們可以使用 screen 或 tmux 等指令去管理所謂的 session。
安裝 tmux
和一般的套件一樣,首先用 apt-get 來安裝 tmux。
sudo apt-get install tmux
接著輸入指令:
tmux
就可以開啟一個 tmux 視窗。
分割 tmux 視窗
tmux 的快速鍵通常都要搭配 Ctrl + b 再加上別的東西才能使用。
例如
- Ctrl+b 後再按「"」可以水平分割。
- Ctrl+b 後再按「%」可以垂直分割。
這個是水平分割:
搭配使用就可以在一個 session 中割出好幾個 pane。
切換 pane
使用 Ctrl+b 再加方向鍵就可以移動到不同的 pane,也可以使用 Ctrl+b 再按 q,這時候會跳出數字讓你選擇你要切換的目標 pane。
離開、返回 session
使用 Ctrl+b 再按 d 可以 detach(退出)目前的 session。而使用這個指令
tmux a
可以 attach(返回)到最近的 session。
tmux 常見的用法
雖然 Node.js 服務通常會使用 pm2 來管理處理程序,但如果今天臨時要用個不熟悉的 Python 或 Java 套件,就可以開一個 tmux session 讓服務保持運作。另外,如果要一邊開 vim 寫 code,另外一邊用自動重新整理的(如 nodemon)等服務自動看程式執行的狀況就不錯。甚至可以再多開一個 pane 用來查看 CPU、Memory 使用狀況!
本篇文章同步發表在 iT邦幫忙。