tmux:管理終端 Session、分割視窗的神器

學會怎麼部署工具後,尤其又知道怎麼使用 WSL,通常大部分都會本機完成開發後再丟到遠端主機執行。但有時候必須在遠端同時嘗試作業和看 log,就只能開兩個 SSH 視窗進去管理嗎?

tmux:管理終端 Session、分割視窗的神器

學會怎麼部署工具後,尤其又知道怎麼使用 WSL,通常大部分都會本機完成開發後再丟到遠端主機執行。但有時候必須在遠端同時嘗試作業和看 log,就只能開兩個 SSH 視窗進去管理嗎?

在 Windows 上我們常常會切換多個應用程式來操作,例如同時開 Chrome 寫文章、同時又使用 Telegram 回訊息等等,而在 Linux 上操作感覺就好像要等一個指令做完才能進下一個的感覺。其實這時候我們可以使用 screen 或 tmux 等指令去管理所謂的 session

安裝 tmux

和一般的套件一樣,首先用 apt-get 來安裝 tmux。

sudo apt-get install tmux

接著輸入指令:

tmux

就可以開啟一個 tmux 視窗。

tmux0

分割 tmux 視窗

tmux 的快速鍵通常都要搭配 Ctrl + b 再加上別的東西才能使用。

例如

  • Ctrl+b 後再按「"」可以水平分割。
  • Ctrl+b 後再按「%」可以垂直分割。

這個是水平分割:

tmux1

搭配使用就可以在一個 session 中割出好幾個 pane。

tmux2

切換 pane

使用 Ctrl+b 再加方向鍵就可以移動到不同的 pane,也可以使用 Ctrl+b 再按 q,這時候會跳出數字讓你選擇你要切換的目標 pane。

tmux4

離開、返回 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邦幫忙

我們正降低廣告比例以提升閱讀體驗。如果你喜歡這篇文章,不妨按下 Like 按鈕分享到社群,以行動支持我寫更多文章。 當然,你也可以 點此用新臺幣支持我,或 點此透過 BTC、ETH、USDC 等加密貨幣支持我
分享到: