tmux是什麼
tmux(terminal multiplexer)是linux上的終端復用神器,可從乙個螢幕上管理多個終端(準確說是偽終端)。使用該工具,使用者可以連線或斷開會話,而保持終端在後台執行。類似的工具還有screen,個人對這二者的使用感受是,用過tmux就再也不想用screen了。
tmux基本結構
tmux的結構包括會話(session)、視窗(window)、窗格(pane)三部分,會話實質是偽終端的集合,每個窗格表示乙個偽終端,多個窗格展現在乙個螢幕上,這一螢幕就叫視窗。基本結構及狀態資訊如下圖所示:
tmux基本操作
基本的操作無非就是對會話、視窗、窗格進行管理,包括建立、關閉、重新命名、連線、分離、選擇等等。
一般使用命令和快捷鍵進行操作,可在系統shell終端和tmux命令模式(類似vim的命令模式)下使用命令,或者在tmux終端使用快捷鍵。
tmux預設的快捷鍵字首是ctrl+b(下文用prefix指代),按下字首組合鍵後鬆開,再按下命令鍵進行快捷操作,比如使用prefix d分離會話(應該寫作prefix d而不是prefix+d,因為d鍵不需要與prefix同時按下)。
快捷鍵可以自定義,比如將字首改為ctrl+a,但需要保留shell預設的ctrl+a快捷鍵,按如下所示修改~/.tmux.conf檔案:
1 set-option -g prefix c-a2 unbind-key c-b3 bind-key c-a send-prefix4 bind-key r source-file ~/.tmux.conf \; display-message "~/.tmux.conf reloaded."
現在已將原先的ctrl+a用prefix ctrl+a取代,即需要按兩次ctrl+a生效。
注意,將多個命令寫在一起作為命令序列時,命令之間要用空格和分號分隔。
會話管理
常用命令
tmux new 建立預設名稱的會話(在tmux命令模式使用new命令可實現同樣的功能,其他命令同理,後文不再列出tmux終端命令)
tmux new -s mysession 建立名為mysession的會話
tmux ls 顯示會話列表
tmux a 連線上乙個會話
tmux a -t mysession 連線指定會話
tmux rename -t s1 s2重新命名會話s1為s2
tmux kill-session 關閉上次開啟的會話
tmux kill-session -t s1 關閉會話s1
tmux kill-session -a -t s1 關閉除s1外的所有會話
tmux kill-server 關閉所有會話
常用快捷鍵
prefix s 列出會話,可進行切換
prefix $ 重新命名會話
prefix d 分離當前會話
prefixd 分離指定會話
視窗管理
prefix c建立乙個新視窗
prefix ,重新命名當前視窗
prefix w 列出所有視窗,可進行切換
prefix n 進入下乙個視窗
prefix p 進入上乙個視窗
prefix l 進入之前操作的視窗
prefix 0~9 選擇編號0~9對應的視窗
prefix .修改當前視窗索引編號
prefix '切換至指定編號(可大於9)的視窗
prefix f 根據顯示的內容搜尋窗格
prefix & 關閉當前視窗
窗格管理
prefix % 水平方向建立窗格
prefix " 垂直方向建立窗格
prefix up|down|left|right 根據箭頭方向切換窗格
prefix q 顯示窗格編號
prefix o 順時針切換窗格
prefix } 與下乙個窗格交換位置
prefix { 與上乙個窗格交換位置
prefix x 關閉當前窗格
prefix space(空格鍵) 重新排列當前視窗下的所有窗格
prefix ! 將當前窗格置於新視窗
prefix ctrl+o 逆時針旋轉當前視窗的窗格
prefix t 在當前窗格顯示時間
prefix z 放大當前窗格(再次按下將還原)
prefix i 顯示當前窗格資訊
其他命令
tmux list-key 列出所有繫結的鍵,等同於prefix ?
tmux list-command 列出所有命令
以上為tmux的常見操作,基本可以滿足大部分的工作需求,至於更高階的操作待日後再整理。
tmux 無法建立會話 Tmux快速入門教程
tmux 是乙個終端復用器,它使使用者可以在乙個終端介面內管理多個會話 視窗和窗格。tmux 有主要兩個用途 tmux 採用 client server模型,主要有四個模組 執行 tmux 命令時,即開啟了乙個服務,並建立了乙個會話 視窗和窗格。sudo apt install tmux tmux ...
TMUX會話的使用
原文 不想看廢話的直接拖到下面看乾貨部分!那麼有沒有辦法解決這個問題呢?能不能像windows那樣,斷開連線再重新連過去發現之前的任務還在執行呢?當然可以!linux系統中可以安裝tmux來實現這樣的功能,只是它是命令列下的工具。這裡簡單介紹下tmux的使用,來實現保持會話 恢復會話這樣的效果,也就...
tmux關機永久儲存會話
tmux是linux終端的一款利器,它可以和伺服器建立會話,之後就算本機網路斷開或者關機,在會話中執行的程式仍然可以繼續執行。tmux的使用方法可以參見這篇 博文 下面想說的是怎麼儲存本地的會話。在日常開發中,我們可能需要同時開啟好幾個專案,這時我們就可以使用tmux建立對應的幾個視窗,每個視窗對應...