1. 程式人生 > >比Screen更好用的神器:tmux

比Screen更好用的神器:tmux

安裝並啟動 tmux

tmux 應用程式的名稱來源於終端(terminal)複用器(muxer)或多路複用器(multiplexer)。換句話說,它可以將您的單終端會話分成多個會話。 它管理視窗和窗格:

  1. 視窗(window)是一個單一的檢視 - 也就是終端中顯示的各種東西。
  2. 窗格(pane)是該檢視的一部分,通常是一個終端會話。

開始前,請在系統上安裝 tmux 應用程式,你需要為您的使用者帳戶設定 sudo 許可權或使用root賬戶。

sudo dnf -y install tmux 【Fedora 22】
sudo yum -y install tmux 【Centos
或RHEL】 sudo apt-get -y install tmux 【ubuntu】

執行 tmux程式:

tmux
狀態列

首先,似乎什麼也沒有發生,除了出現在終端的底部的狀態列:
比Screen更好用的神器:tmux比Screen更好用的神器:tmux
底部欄顯示:

  • [0] – 這是 tmux 伺服器建立的第一個會話。編號從 0 開始。tmux 伺服器會跟蹤所有的會話確認其是否存活。
  • 0:[email protected]:~ – 有關該會話的第一個視窗的資訊。編號從 0 開始。這表示視窗的活動窗格中的終端歸主機名 scarlett 中 testuser 使用者所有。當前目錄是 ~ (家目錄)。
  • * – 顯示你目前在此視窗中。
  • “scarlett.internal.fri” – 你正在使用的 tmux 伺服器的主機名。
  • 此外,還會顯示該特定主機上的日期和時間。

當你向會話中新增更多視窗和窗格時,資訊欄將隨之改變。

tmux 基礎知識

把你的終端視窗拉伸到最大。現在讓我們嘗試一些簡單的命令來建立更多的窗格。預設情況下,所有的命令都以 Ctrl+b 開頭。

  1. 敲 Ctrl+b, " 水平分割當前單個窗格。 現在視窗中有兩個命令列窗格,一個在頂部,一個在底部。請注意,底部的新窗格是活動窗格。
  2. 敲 Ctrl+b, % 垂直分割當前單個窗格。 現在你的視窗中有三個命令列窗格,右下角的窗格是活動窗格。

比Screen更好用的神器:tmux比Screen更好用的神器:tmux

注意當前窗格周圍高亮顯示的邊框。要瀏覽所有的窗格,請做以下操作:

  • 敲 Ctrl+b,然後點箭頭鍵
  • 敲 Ctrl+b, q,數字會短暫的出現在窗格上。在這期間,你可以你想要瀏覽的窗格上對應的數字。

現在,嘗試使用不同的窗格執行不同的命令。例如以下這樣的:

  1. 在頂部窗格中使用 ls 命令顯示目錄內容。
  2. 在左下角的窗格中使用 vi 命令,編輯一個文字檔案。
  3. 在右下角的窗格中執行 top 命令監控系統程序。

螢幕將會如下顯示:
比Screen更好用的神器:tmux比Screen更好用的神器:tmux

到目前為止,這個示例中只是用了一個帶多個窗格的視窗,你也可以在會話中執行多個視窗。

  • 為了建立一個新的視窗,請敲Ctrl+b, c 。請注意,狀態列顯示當前有兩個視窗正在執行。(敏銳的讀者會看到上面的截圖。)
  • 要移動到上一個視窗,請敲 Ctrl+b, p 。
  • 要移動到下一個視窗,請敲 Ctrl+b, n 。
  • 要立即移動到特定的視窗,請敲 Ctrl+b 然後跟上視窗編號。

如果你想知道如何關閉窗格,只需要使用 exit 、logout,或者 Ctrl+d 來退出特定的命令列 shell,一旦你關閉了視窗中的所有窗格,那麼該視窗也會消失。

脫離和附加

tmux 最強大的功能之一是能夠脫離和重新附加到會話。 當你脫離的時候,你可以離開你的視窗和窗格獨立執行。 此外,您甚至可以完全登出系統。 然後,您可以登入到同一個系統,重新附加到 tmux 會話,檢視您離開時的所有視窗和窗格。 脫離的時候你執行的命令一直保持執行狀態。

為了脫離一個會話,請敲 Ctrl+b, d。然後會話消失,你重新返回到一個標準的單一 shell。如果要重新附加到會話中,使用一下命令:

tmux attach-session

當你連線到主機的網路不穩定時,這個功能就像救生員一樣有用。如果連線失敗,會話中的所有的程序都會繼續執行。只要連線恢復了,你就可以恢復正常,就好像什麼事情也沒有發生一樣。

如果這些功能還不夠,在每個會話的頂層視窗和窗格中,你可以執行多個會話。你可以列舉出這些視窗和窗格,然後通過編號或者名稱把他們附加到正確的會話中:

tmux list-sessions
延伸閱讀

本文只觸及的 tmux 的表面功能。你可以通過其他方式操作會話:

  • 將一個窗格和另一個窗格交換
  • 將窗格移動到另一個視窗中(可以在同一個會話中也可以在不同的會話中)
  • 設定快捷鍵自動執行你喜歡的命令
  • 在 ~/.tmux.conf 檔案中配置你最喜歡的配置項,這樣每一個會話都會按照你喜歡的方式呈現

有關所有命令的完整說明,請檢視以下參考: