從同事那里無意間知道有tmux這種神器,之前一直都是使用xshell建立多個(gè)連接,并且使用ctrl+tab來不斷的切換頁面實(shí)現(xiàn)的蛋褥。
tmux簡(jiǎn)介
tmux是一個(gè)終端復(fù)用工具:在一個(gè)屏幕中使用多個(gè)獨(dú)立的終端瓢捉。即使非正常掉線,也能保證當(dāng)前的任務(wù)運(yùn)行衩辟,這一點(diǎn)對(duì)于遠(yuǎn)程SSH訪問特別有用,網(wǎng)絡(luò)不好的情況下仍然能保證工作現(xiàn)場(chǎng)不丟失!
目前支持的操作系統(tǒng)有:OpenBSD, FreeBSD, NetBSD, Linux, OS X and Solaris波附。
github倉庫:https://github.com/tmux/tmuxtmux的安裝
通常情況下艺晴,直接使用apt-get install或者yum install是可以解決問題的。
源碼安裝參考github:
git clone https://github.com/tmux/tmux.git
cd tmux && sh autogen.sh
./configure && make
sudo make install
- 在ssh時(shí)自動(dòng)啟動(dòng)tmux
安裝完tmux后都要執(zhí)行tmux
這個(gè)命令來啟動(dòng)掸屡,所以為了節(jié)省這個(gè)操作我們考慮在ssh連接時(shí)自動(dòng)啟動(dòng)tmux封寞。在~/.bash_rc
末尾添加以下一段:(手動(dòng)source以下即可立即生效),如果希望手動(dòng)管理tmux終端則忽略這一步直接到step4.
if [[ -z "$TMUX" ]] && [ "$SSH_CONNECTION" != "" ]; then
# 如果希望每次ssh連接時(shí)都進(jìn)入不同的tmux環(huán)境,并且ssh斷開連接時(shí)自動(dòng)關(guān)閉則啟動(dòng)下面這行
tmux new-session \; set-option destroy-unattached on
#如果希望每次通過ssh連接進(jìn)入同一個(gè)tmux環(huán)境(就如同ssh從來沒斷過一樣),啟用下面這樣
# tmux has 2> /dev/null || tmux new-session -s ssh_tmux && tmux attach
fi
- tmux的配置
就我個(gè)人感覺仅财,tmux默認(rèn)的配置實(shí)在太復(fù)雜了狈究。其中一部分原因是有前綴鍵的存在,還有一個(gè)原因是某些快捷鍵位置特別偏僻盏求,比如 進(jìn)入復(fù)制模式需要按前綴鍵和[
,[
這個(gè)鍵實(shí)在是太偏僻了抖锥,而且默認(rèn)的Ctrl+b這個(gè)前綴鍵中b離ctrl鍵又很遠(yuǎn)。tmux默認(rèn)配置文件是 ~/.tmux.conf,如果該文件不存在需要自行新建碎罚。下面是我個(gè)人的配置文件磅废,僅供參考(我同事居然已經(jīng)完全習(xí)慣了tmux默認(rèn)的快捷鍵)
unbind C-b
set -g prefix C-a
bind -n C-w kill-pane
bind -n C-n split-window -h
bind C-n split-window
bind C-c copy-mode
bind r source-file ~/.tmux.conf \; display "配置文件已重新加載!"
pane的切換是 前綴鍵+上下左右鍵。
還有一個(gè)非常重要的快捷鍵是 前綴鍵+? (shift+/)荆烈,顯示所有快捷鍵拯勉。
- tmux一些基本概念
上面給了tmux如何安裝,如何啟動(dòng)憔购,如何配置宫峦。那么下面按理說應(yīng)該是如何使用了。
但是在正式使用tmux之前需要知道session玫鸟,window导绷,pane這三個(gè)概念,具體參考https://blog.csdn.net/lihao21/article/details/68958515
總結(jié):從輕度使用來說屎飘,只需要知道pane就可以了诵次。加上創(chuàng)建pane账蓉,關(guān)閉pane,pane之間的切換就足夠了