Tmux 有什麼用?

Tmux 是一個強大的終端複用工具,允許用戶在一個終端窗口中管理多個獨立的會話、窗口和窗格。它最初是爲了解決在遠程服務器上長時間運行程序時遇到的網絡中斷問題而設計的,但其功能遠不止於此。通過 tmux,你可以輕鬆地在不同任務之間切換、保持會話持續運行(即使你斷開了連接),並且可以同時從多個位置訪問同一個會話。

常見應用場景

Tmux 作爲一個終端複用工具,因其強大的功能和靈活性,在多種場景下都非常有用。以下是 Tmux 的一些常見應用場景:

  1. 遠程服務器管理

保持會話持續運行:在遠程服務器上啓動的任務可以在你斷開 SSH 連接後繼續運行。這對於長時間運行的任務(如數據處理、構建編譯、批處理作業等)特別有用。

多用戶協作:多個用戶可以同時連接到同一個 Tmux 會話,非常適合團隊協作開發或調試。

  1. 多任務處理

並行工作流:通過創建多個窗口和窗格,可以在同一終端中同時運行和監控多個命令或程序。例如,一邊查看日誌文件,另一邊編輯代碼。

資源高效利用:在一個終端窗口內組織多個任務,減少打開多個終端窗口的需求,提高屏幕空間的利用率。

  1. 開發環境

IDE 替代品:對於喜歡輕量級開發環境的開發者來說,Tmux 可以與文本編輯器(如 Vim 或 Emacs)結合使用,形成一個高效的開發環境。

版本控制系統集成:方便地在同一視圖中操作 Git 等版本控制工具,進行提交、合併分支等操作。

  1. 自動化腳本和 CI/CD 管道

不間斷執行:確保自動化腳本或 CI/CD 流程中的任務即使在網絡中斷或系統重啓後也能繼續執行。

日誌記錄:可以配置 Tmux 來記錄所有輸出,這對於審計和故障排除非常有價值。

  1. 教育和培訓

實時演示:講師可以通過共享 Tmux 會話來進行實時編碼演示,學生可以直接看到每一步的操作。

互動學習:學生可以在同一 Tmux 會話中跟隨講師練習,增強學習體驗。

  1. 實驗和研究

長期實驗監控:科學家和研究人員可以在 Tmux 中設置長時間運行的實驗,然後斷開連接,稍後再回來檢查結果。

數據分析:便於在不同數據集之間快速切換,同時運行多個分析工具。

  1. 遊戲服務器管理

後臺服務運行:遊戲服務器管理員可以使用 Tmux 來啓動和監控遊戲服務器,確保它們在無人值守的情況下穩定運行。

  1. 移動設備上的開發

有限屏幕空間下的多任務處理:在筆記本電腦或平板電腦上開發時,Tmux 可以幫助更好地管理有限的屏幕空間,實現更高效的工作流程。

  1. 應急響應

快速上下文切換:在處理突發事件時,Tmux 提供了快速切換任務和保持多個命令行工具運行的能力,有助於迅速解決問題。

安裝 Tmux

大多數 Linux 發行版和 macOS 都可以通過包管理器安裝 Tmux:

基本用法

啓動一個新的會話

tmux new -s mysession

這將創建並進入一個名爲 mysession 的新會話。

列出所有會話

tmux ls

這將列出當前所有活躍的 Tmux 會話。

附着到現有會話

tmux attach -t mysession

這將讓你重新連接到一個已存在的會話 mysession。

創建的一個 session 不能 exit,否則會關掉;打開另一個 terminal,attach 即可進入這個 mysession

分離會話

當你想要暫時離開當前會話而不關閉它時,可以使用以下命令分離會話:

Ctrl-b d

這會讓你回到原始的 shell,同時保持 Tmux 會話在後臺運行。

創建新的窗口

在 Tmux 中,你可以創建多個窗口來組織不同的任務:

Ctrl-b c

這將創建一個新的窗口。

執行後,tmux ls 可以發現這個 mysession 有兩個 windows,即兩個窗口

切換窗口

使用以下快捷鍵可以在不同的窗口之間切換:

Ctrl-b n  #切換到下一個窗口
Ctrl-b p  #切換到上一個窗口

或者直接指定窗口編號:

Ctrl-b 0  #切換到第1個窗口(窗口編號從0開始)

水平或垂直分割窗格

    你還可以在一個窗口內創建多個窗格來同時查看多個命令行工具:

Ctrl-b " #水平分割窗格

Ctrl-b %#垂直分割窗格

在窗格間移動

Ctrl-b o  #移動到下一個窗格
Ctrl-b ;  #移動到上一個窗格

關閉當前窗格或窗口

關閉當前窗格:Ctrl-dexit 命令。

關閉當前窗口:Ctrl-b & 然後確認。

退出 tmux

要完全退出 Tmux 並關閉所有會話,你需要先關閉所有的窗格和窗口。當最後一個窗口被關閉時,Tmux 會話也將結束。

配置文件

    Tmux 的配置文件通常是位於用戶主目錄下的.tmux.conf 文件。你可以在這個文件中定義快捷鍵、設置默認選項等,以個性化你的 Tmux 環境。

總結

    Tmux 提供了豐富的特性和高度的可定製性,使得它成爲開發者、系統管理員和其他需要高效管理和多任務處理終端工作流的人士的理想選擇。掌握 Tmux 可以顯著提高生產力,並使遠程工作更加可靠和靈活。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/vc5KxUJRwl_9gPTN8ABonw