【Linux操作】---終端神器tmux

tmux是什么

tmux(terminal multiplexer)是Linux上的終端復(fù)用神器,可從一個屏幕上管理多個終端(準(zhǔn)確說是偽終端)。使用該工具,用戶可以連接或斷開會話,而保持終端在后臺運(yùn)行。類似的工具還有screen,個人對這二者的使用感受是,用過tmux就再也不想用screen了。

tmux基本結(jié)構(gòu)

tmux的結(jié)構(gòu)包括會話(session)、窗口(window)、窗格(pane)三部分,會話實(shí)質(zhì)是偽終端的集合,每個窗格表示一個偽終端,多個窗格展現(xiàn)在一個屏幕上,這一屏幕就叫窗口?;窘Y(jié)構(gòu)及狀態(tài)信息如下圖所示:

image

tmux基本操作

基本的操作無非就是對會話、窗口、窗格進(jìn)行管理,包括創(chuàng)建、關(guān)閉、重命名、連接、分離、選擇等等。

一般使用命令和快捷鍵進(jìn)行操作,可在系統(tǒng)shell終端和tmux命令模式(類似vim的命令模式)下使用命令,或者在tmux終端使用快捷鍵。

tmux默認(rèn)的快捷鍵前綴是Ctrl+b(下文用prefix指代),按下前綴組合鍵后松開,再按下命令鍵進(jìn)行快捷操作,比如使用prefix d分離會話(應(yīng)該寫作prefix d而不是prefix+d,因?yàn)?strong>d鍵不需要與prefix同時按下)。

快捷鍵可以自定義,比如將前綴改為Ctrl+a,但需要保留shell默認(rèn)的Ctrl+a快捷鍵,按如下所示修改~/.tmux.conf文件:

<pre style="margin: 0px; padding: 0px; overflow: auto; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 set-option -g prefix C-a 2 unbind-key C-b 3 bind-key C-a send-prefix 4 bind-key R source-file ~/.tmux.conf ; display-message "~/.tmux.conf reloaded."</pre>

現(xiàn)在已將原先的Ctrl+aprefix Ctrl+a取代,即需要按兩次Ctrl+a生效。

第4行的作用是使用prefix r重新加載配置文件,并輸出提示,否則需要關(guān)閉會話后配置文件才能生效,也可手動加載配置文件,在tmux終端輸入"prefix :"進(jìn)入命令模式,用source-file命令加載配置文件。

注意,將多個命令寫在一起作為命令序列時,命令之間要用空格和分號分隔。

會話管理

****常用命令****

tmux new  創(chuàng)建默認(rèn)名稱的會話(在tmux命令模式使用new命令可實(shí)現(xiàn)同樣的功能,其他命令同理,后文不再列出tmux終端命令)

tmux new -s mysession  創(chuàng)建名為mysession的會話

tmux ls  顯示會話列表

tmux a  連接上一個會話

tmux a -t mysession  連接指定會話

tmux rename -t s1 s2  重命名會話s1為s2

tmux kill-session  關(guān)閉上次打開的會話

tmux kill-session -t s1  關(guān)閉會話s1

tmux kill-session -a -t s1  關(guān)閉除s1外的所有會話

tmux kill-server  關(guān)閉所有會話

常用快捷鍵

prefix s  列出會話,可進(jìn)行切換

prefix $  重命名會話

prefix d  分離當(dāng)前會話

prefix**** D  分離指定會話

窗口管理

prefix c  創(chuàng)建一個新窗口

prefix ,  重命名當(dāng)前窗口

prefix w  列出所有窗口,可進(jìn)行切換

prefix n  進(jìn)入下一個窗口

prefix p  進(jìn)入上一個窗口

prefix l  進(jìn)入之前操作的窗口

prefix 0~9  選擇編號0~9對應(yīng)的窗口

prefix .  修改當(dāng)前窗口索引編號

prefix '  切換至指定編號(可大于9)的窗口

prefix f  根據(jù)顯示的內(nèi)容搜索窗格

prefix &  關(guān)閉當(dāng)前窗口

窗格管理

prefix %  水平方向創(chuàng)建窗格

prefix "  垂直方向創(chuàng)建窗格

prefix Up|Down|Left|Right  根據(jù)箭頭方向切換窗格

prefix q  顯示窗格編號

prefix o  順時針切換窗格

prefix }  與下一個窗格交換位置

prefix {  與上一個窗格交換位置

prefix x  關(guān)閉當(dāng)前窗格

prefix space(空格鍵)  重新排列當(dāng)前窗口下的所有窗格

prefix !  將當(dāng)前窗格置于新窗口

prefix Ctrl+o  逆時針旋轉(zhuǎn)當(dāng)前窗口的窗格

prefix t  在當(dāng)前窗格顯示時間

prefix z  放大當(dāng)前窗格(再次按下將還原)

prefix i  顯示當(dāng)前窗格信息

其他命令

tmux list-key  列出所有綁定的鍵,等同于prefix ?

tmux list-command  列出所有命令

以上為tmux的常見操作,基本可以滿足大部分的工作需求,至于更高端的操作待日后再整理。


參看鏈接:tmux簡明教程

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容