使用 tmux 打造更強大的終端
一些 Fedora 用戶把大部分甚至是所有時間花費在了命令行終端上。 終端可讓您訪問整個系統,以及數以千計的強大的實用程序。 但是,它默認情況下一次只顯示一個命令行會話。 即使有一個大的終端窗口,整個窗口也只會顯示一個會話。 這浪費了空間,特別是在大型顯示器和高解析度的筆記本電腦屏幕上。 但是,如果你可以將終端分成多個會話呢? 這正是 tmux 最方便的地方,或者說不可或缺的。
安裝並啟動 tmux
tmux 應用程序的名稱來源於 終端 復用器 或 多路復用器 。 換句話說,它可以將您的單終端會話分成多個會話。 它管理窗口和窗格:
- 窗口 是一個單一的視圖 - 也就是終端中顯示的各種東西。
- 窗格 是該視圖的一部分,通常是一個終端會話。
開始前,請在系統上安裝 tmux
應用程序。 你需要為您的用戶帳戶設置 sudo
許可權(如果需要,請查看本文獲取相關說明)。
sudo dnf -y install tmux
運行 tmux
程序:
tmux
狀態欄
首先,似乎什麼也沒有發生,除了出現在終端的底部的狀態欄:
底部欄顯示:
[0]
– 這是tmux
伺服器創建的第一個會話。編號從 0 開始。tmux
伺服器會跟蹤所有的會話確認其是否存活。0:testuser@scarlett:~
– 有關該會話的第一個窗口的信息。編號從 0 開始。這表示窗口的活動窗格中的終端歸主機名scarlett
中testuser
用戶所有。當前目錄是~
(家目錄)。*
– 顯示你目前在此窗口中。「scarlett.internal.fri」
– 你正在使用的tmux
伺服器的主機名。- 此外,還會顯示該特定主機上的日期和時間。
當你向會話中添加更多窗口和窗格時,信息欄將隨之改變。
tmux 基礎知識
把你的終端窗口拉伸到最大。現在讓我們嘗試一些簡單的命令來創建更多的窗格。默認情況下,所有的命令都以 Ctrl+b
開頭。
- 敲
Ctrl+b, "
水平分割當前單個窗格。 現在窗口中有兩個命令行窗格,一個在頂部,一個在底部。請注意,底部的新窗格是活動窗格。 - 敲
Ctrl+b, %
垂直分割當前單個窗格。 現在你的窗口中有三個命令行窗格,右下角的窗格是活動窗格。
注意當前窗格周圍高亮顯示的邊框。要瀏覽所有的窗格,請做以下操作:
- 敲
Ctrl+b
,然後點箭頭鍵 - 敲
Ctrl+b, q
,數字會短暫的出現在窗格上。在這期間,你可以你想要瀏覽的窗格上對應的數字。
現在,嘗試使用不同的窗格運行不同的命令。例如以下這樣的:
- 在頂部窗格中使用
ls
命令顯示目錄內容。 - 在左下角的窗格中使用
vi
命令,編輯一個文本文件。 - 在右下角的窗格中運行
top
命令監控系統進程。
屏幕將會如下顯示:
到目前為止,這個示例中只是用了一個帶多個窗格的窗口。你也可以在會話中運行多個窗口。
- 為了創建一個新的窗口,請敲
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
文件中配置你最喜歡的配置項,這樣每一個會話都會按照你喜歡的方式呈現
有關所有命令的完整說明,請查看以下參考:
作者簡介:
Paul W. Frields 自 1997 年以來一直是 Linux 用戶和愛好者,並於 2003 年加入 Fedora 項目,這個項目剛推出不久。他是 Fedora 項目委員會的創始成員,在文檔,網站發布,宣傳,工具鏈開發和維護軟體方面都有貢獻。他於2008 年 2 月至 2010 年 7 月加入 Red Hat,擔任 Fedora 項目負責人,並擔任 Red Hat 的工程經理。目前他和妻子以及兩個孩子居住在弗吉尼亞。
via: https://fedoramagazine.org/use-tmux-more-powerful-terminal/
作者:Paul W. Frields 譯者:Flowsnow 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive