身為一名開發者對終端機應該不陌生,不管是要用 vim 修改文件內容、執行腳本、ssh 到遠端伺服器都會用到終端機。這邊要介紹給大家一個工具 tmux,tmux 是個 terminal multiplexer,他除了可以保存 session 外,還有視窗分割、視窗切換、多人共享畫面等等功能,廢話不多說,直接進入正題
首先要先安裝 Homebrew ,沒有裝過的話先跑以下指令安裝
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
有了 Homebrew 之後直接安裝 tmux
brew update brew install tmux
sudo apt-get install tmux
yum install tmux
安裝完跑跑看 tmux
,最下面有出現一條狀態列就是安裝成功了
server | 第一次跑 tmux 時會自動開啟一個 server,server 會負責管理所有 session |
session | 一個 server 裡面可以有多個 session,每次下 tmux 指令都會開一個新 session |
window | window 就是整個終端機的畫面,一個 session 裡面可以有多個 window |
pane | 可以把一個 window 切成好幾個小區塊,每個區塊就是一個 pane |
光看文字敘述可能不夠清楚,直接看圖
有了基本概念之後就來實際操作看看吧~
記得要先啟動 tmux,而且在按任何快捷鍵之前一定要先按 Ctrl+b
,譬如說要水平分割出一個 pane,就要先按 Ctrl+b
再按 %
% | 水平分割出一個 pane |
” | 垂直分割出一個 pane |
方向鍵 | 移動到另外一個 pane |
x | 關閉目前的 pane |
space | 切換佈局 |
{ | 向前置換 |
} | 向後置換 |
alt+方向鍵 | 調整大小 |
c | 創建新的 window |
& | 關閉目前的 window |
p | 切換到上一個 window |
n | 切換倒下一個 window |
數字鍵 | 切換到指定 window |
, | 重新命名 window |
. | 修改 window 編號 |
$ tmux |
開啟一個新的 session |
$ tmux ls |
列出所有 session |
$ tmux attach -t 0 |
進入第 0 個 session |
$ kill-session 0 |
關閉 0 號 session |
d | 脫離目前 session,下 tmux attach 指令可以再回來 |
s | 切換 session |
有時候要檢查程式是不是浪費太多系統資源就可以這樣用
這個就不用多說了~真的很常用
平常 ssh 到伺服器上跑程式,只要 ssh 斷了程式就會被關閉,用 tmux 就不會有這個困擾
透過 tmux,大家可以同時在線上共用同一個 session,也可以共同編輯同一份文件
以上是 tmux 的一些簡單介紹,筆者我自從用了他之後就對他愛不釋手~所以寫了這篇文章帶大家認識這個工具,如果想要看比較詳細的教學可以看看 Tutorial - tmux Basics ,基礎部分都熟悉之後也可以再去看其他更進階的操作。