tmux是什麼
tmux(terminal multiplexer)是linux上的終端復用神器,可從乙個螢幕上管理多個終端(準確說是偽終端)。使用該工具,使用者可以連線或斷開會話,而保持終端在後台執行。
日常工作需要遠端gpu伺服器進行深度學習網路訓練,mobaxterm docker 搭配tmux,非常方便好用,美支兒支兒
tmux安裝
沒有sudo管理員許可權情況:
非常詳細步驟:
有許可權:那就簡單粗暴
sudo apt-get install tmux
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-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.」
現在已將原先的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 分離當前會話
prefix d 分離指定會話
其他命令
tmux list-key 列出所有繫結的鍵,等同於prefix ?
tmux list-command 列出所有命令
以上為tmux的常見操作,基本可以滿足大部分的工作需求。
gcc g 基本命令簡介
gcc g 現在是gnu中最主要和最流行的c c 編譯器 g 是c 的命令,以.cpp為主,對於c語言字尾名一般為.c。這時候命令換做gcc即可。其實是無關緊要的。其實編譯器是根據gcc還是g 來確定是按照c標準還是c 標準編譯鏈結。下面以test.cpp為例 命令 g test.cpp 功能 生成...
gcc g 基本命令簡介
gcc g 現在是gnu中最主要和最流行的c c 編譯器 g 是c 的命令,以.cpp為主,對於c語言字尾名一般為.c。這時候命令換做gcc即可。其實是無關緊要的。其實編譯器是根據gcc還是g 來確定是按照c標準還是c 標準編譯鏈結。下面以test.cpp為例 命令 g test.cpp 功能 生成...
gcc g 基本命令簡介
gcc g 現在是gnu中最主要和最流行的c c 編譯器 g 是c 的命令,以.cpp為主,對於c語言字尾名一般為.c。這時候命令換做gcc即可。其實是無關緊要的。其實編譯器是根據gcc還是g 來確定是按照c標準還是c 標準編譯鏈結。下面以test.cpp為例 命令 g test.cpp 功能 生成...