0%

tmux

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
2
 $ tmux ls
0: 1 windows (created Mon Oct 12 18:07:45 2020) (attached)

多個工作 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可以豐富你的想像。

參考