Tmux

為什麼要用 Tmux

使用SSH/Telnet 登入到遠端的 Server 進行一些操作的時候,都會遇到幾種情況。

當某個指令需要執行一段時間時, 只能等指令執行完,才能再繼續下一個指令。
或是有些指令可能要執行幾個小時以上,但是又等得想關機去睡覺了,但是一關機,指令也被中斷了。
或是執行到一半的時候,突然斷線了,指令也不正常的結束了。

Tmux 或是 Screen 都是為了解決以上情況的程式,他能夠把你要執行的指令放到背景去執行。
讓你能夠隨時跳到另一個 Command Line Interface 或是離線之後再連線回來看指令執行完的結果。

簡單說,就是一種 「Terminal 中的 Terminal」 的概念

安裝 Tmux

現在 Linux 安裝套件都相對簡單多了,通常都只要一個指令安裝完成,不用去解決很多套件間依賴性的問題。

apt-get install tmux

使用 Tmux

要使用 Tmux 通常要 2 種情況,一種是建立新 Session,一種是回到上次指令執行到一半就離開的 Session

建立新 Session

# tmux

// 把新建的 Session 取名為 naurudao
# tmux new -s naurudao

回到上次指令執行到一半就離開的 Session

// 先把目前 session 列表出來,看要回到哪個 session
# tmux ls 
naurudao: 1 windows (created Fri Feb 26 10:59:48 2016) [156x42]

// 回到剛剛建好的 [nauduao] tmux session
# tmux attach -t naurudao

進入 Tmux 後

Tmux 是很厲害的 Terminal ,除了可以讓你把指令執行到一半就先離開的功能,
還能分割視窗,讓你可以一邊看指令目前的執行進度,一邊下其它的指令。

只是這些功能,都要透過 Tmux 專屬的快速鍵才能操作。

Tmux 快速鍵

Tmux 的快速鍵是一種 combo鍵的概念,有2個階段,

第一階段,先按下 Ctrl+b
第二階段,然後再接著按下特定功能的快速鍵

第一階段是告訴 Tmux ,我要使用快速鍵囉,第二階段才是告訴 Tmux 要做什麼事情。

功能 快速鍵
離開指令執行到一半的 Session Ctrl+b > d
陸續更新有用到的快速鍵…

Ctrl+b 不好按!

在 Tmux 之前,其實大家是習慣使用一套叫做 Screen 的套件,功能跟 Tmux 很類似,但因為 Tmux 更強大,所以大家慢慢都從 Screen 換成 Tmux
但是套件換了,快速鍵大家還是習慣 Screen 的按法。

Screen 的快速鍵也是分為 2 個階段,只是第一階段的按法是 Ctrl+a。
如果想要把 Tmux 的第一階段按法也改成 Ctrl+a的話,
只要在 ~/.tmux.conf 中加入以下三行就可以了

set -g prefix ^a  
unbind ^b  
bind a send-prefix

參考網頁
Tmux 教學 + Screen 到 Tmux 的無痛轉換
从 screen 切换到 tmux

0 意見:

張貼留言