tmux
最早在使用的是screen, screen用了很久,也很好用,而且支援的平台很廣。
使用這類軟體的目的是不喜歡開一堆terminal, 而且,有時terminal斷了,程式就結束了。
當你工作執行到一半,又是一個需要花很久時間的工作。你會抓狂,因為代表你要再花一次時間等程式跑。
所以當我們需要同時開很多遠端 shell 時,這類工具真的很好用。
tmux 改進了一些 screen 的缺點。不過也沒有差很多,有時我會搭配使用。
我個人覺得 tmux 更視覺化,很多情境都可以看的到結果。
而且可以在同一個shell中再切更多小的 pane。方便監控 log 或是需要花時間的 job 。
一般來說我個人是在遠端開 tmux 。回家前斷了線,再連上又可以恢復之前的工作 session。
一般 shell 是不好跑背景工作的。一般 shell 中斷了,原來的工作也就停止了。
而且在工作 session 回恢復後,原來的 job screen output 也回來了。
因為多視窗的功能,可以輕鬆的切換不同的視窗。
安裝
centos
1 | $ sudo yum install -y tmux |
執行
1 | $ tmux |
使用
最重要的是可以重複使用原來的工作 session。
要重新連上原來的工作 session。
1 | $ tmux a |
列出目前存在的工作 session。
1 | $ tmux ls |
多個工作 session 時,我們可以指定要連上的 session。
1 | $ tmux a -t 0 |
tmux 有幾個操作模式: 普通模式、命令模式、複制模式及粘貼模式。
一般情況我都只有用到普通模式。
而在普通模式中,有很多熱鍵一定要記住。
熱鍵 | 功能 |
---|---|
Ctrl + b -> c | 建立新的pane/window |
Ctrl + b -> n | 切換到下一個pane |
Ctrl + b -> p | 切換到上一個pane |
Ctrl + b -> 0~9 | 切換到第n個pane |
Ctrl + b -> “ | 水平 |
Ctrl + b -> % | 垂直分割pane |
Ctrl + b -> o | 同一視窗內pane之間切換 |
Ctrl + b -> d | 中斷session |
結論
上面是一般我在使用的功能。
不過tmux有更多功能和plugin可以豐富你的想像。