1. 認識tmux

Learning發表於2014-06-09

tmux是什麼

tmux是什麼?我們先來看看官網的解釋:

tmux is a terminal multiplexer

What is a terminal multiplexer? It lets you switch easily between several programs in one terminal, detach them (they keep running in the background) and reattach them to a different terminal. And do a lot more.

簡單來說就是一個終端多開工具,能讓你同時執行多個終端會話,在這些會話之間隨意切換。

特色功能

終端會話多開

平常在終端的使用過程中,一次只能執行一個會話。 當然你也可以通過終端程式的多開標籤頁來解決,但是使用了tmux,你就可以在一個終端中同時執行多個會話,只需開啟一個終端。 終端會話多開

會話的分離(detach)與連線(attach)

我們在使用終端的過程中,總會遇到過類似場景:

  • 用終端執行了一個測試程式碼的HTTP服務(如rails、django),想要關閉終端程式視窗,但又不想讓服務停掉
  • 用ssh連線到伺服器,正在編輯檔案或修改配置,突然斷網了,網路重新連通後再連線上伺服器,又要重新進入剛才的工作目錄、找到要編輯的檔案、找到剛才修改的那一行……
  • 在公司用ssh連線到伺服器,開啟了多個檔案,回家後想繼續幹活,但是還要再憑記憶把檔案逐一開啟

使用tmux會話的分離與連線就可以輕鬆解決以上問題,分離(detach)可以使終端會話在後臺執行,連線(attach)可以重新開啟在後臺執行的會話,也可以多個終端連線同一會話。這些都會在後續詳細描述。