作為開發者,不斷和伺服器打交道,最煩躁的是,每次用 ssh 連線伺服器時,總擔心網路不穩定導致在伺服器端執行耗時的任務會被中斷。有時候伺服器一邊在執行命令,一邊又想看看伺服器記憶體、cpu 等運**況,這時候不得不再開啟乙個終端執行 ssh 連線操作。
最近發現乙個好工具:「tmux」,恰好能解決這些問題,今天分享出來。
首先說一說 tmux 的好處。
tmux 優點
分屏在 mac 上,iterm2 也是可以做到分屏,但如果結合 iterm2 與 ssh 的話,iterm2 分屏需要不斷地 ssh ,導致的後果就是有多個使用者連線,使用 who 命令檢視登入使用者數。
舉個例子,如果是 iterm2 分屏三個,則使用者連線數為:3
但,如果是用 tmux 的話,相同的目標,使用者連線數為:1
attach
attach 可以起到保護現場的作用,不至於因 ssh 超時或者異常退出,而喪失了工作環境。
我做了乙個測試,先在 tmux 環境下 git clone **。
以後我們可以放心的把耗時的任務放在 tmux 下執行了,再也不用擔心本地 ssh 斷連的問題了!
安裝 tmux
在 mac 下,直接使用 brew
brew install tmux
複製**在 centos 7,可以直接用 yum 安裝 tmux:
yum install tmux -y
複製**
但版本會比較低,這裡我們也可以直接用源**編譯安裝最新版本:
yum -y install ncurses-devel
yum -y install libevent-devel
git clone
cd tmux && sh autogen.sh
./configure && make
tmux -v
tmux next-3.1
複製**
注:如果出現 aclocal: 未找到命令
yum install automake -y
複製**
如果出現 make: yacc:命令未找到
則需要安裝 bison:
yum install bison -y
複製**
如果 make 安裝不了,可以試試 make install
連線首先將遠端連線 key 證書加入 ssh-key 中,以後訪問方便。
ssh-add -k key.pem
複製**然後,我們在 iterm2 增加乙個「profile」,在「general」加入 「command」命令:
ssh -t username@remote_host 「tmux attach -t coding01 || tmux new -s coding01」
複製**
這個的含義是:如果遠端伺服器已經有 coding01 session,則直接 tmux attach 載入 coding01 session;如果不存在,則會建立乙個 coding01 session。
我們可以看看一共有幾個 session:
用好工具,提高我們的效率。
未完待續
參考
在 iTerm2 中使用 tmux
作為開發者,不斷和伺服器打交道,最煩躁的是,每次用 ssh 連線伺服器時,總擔心網路不穩定導致在伺服器端執行耗時的任務會被中斷。有時候伺服器一邊在執行命令,一邊又想看看伺服器記憶體 cpu 等運 況,這時候不得不再開啟乙個終端執行 ssh 連線操作。最近發現乙個好工具 tmux 恰好能解決這些問題,...
在iTerm2中使用Zmodem的方法
iterm通過trigger的方式可以使用sz rz命令方便的通過terminal在遠端主機檔案傳輸。首先需要安裝iterm build 1.0.0.20120724以上版本,因為從這個版本開始支援trigger。然後使用port安裝sz rz 1 sudo port install lrzsz 通...
終端利器 iTerm2 和 tmux
參考文章 之前一直使用 mac os 自帶的終端,用起來雖然有些不太方便,但總體來說還是可以接受的,是有想換個終端的想法,然後今天偶然看到乙個終端利器 iterm2,發現真的很強大,也非常的好用,按照網上配置了主題什麼的,還是有些坑的,這邊再記錄下,以便後面查閱。或者你可以直接使用 homebrew...