如何使用Tmux提高終端環境下的效率
滑鼠的發明是了不起的創新,它讓電腦更加接近普通人。但從程式設計師和系統管理員的角度,使用電腦工作時,手一旦離開鍵盤,就會有些分心。
作為一名系統管理員,我大量的工作都需要在終端環境下。開啟很多標籤,然後在多個終端之間切換視窗會讓我慢下來。尤其是當我的伺服器出問題的時候,我不能浪費任何時間!
Tmux是我日常工作必要的工具之一。我可以藉助Tmux構建出複雜的開發環境,同時還可以在一旁進行SSH遠端連線。我可以開出很多視窗,將其拆分成很多皮膚,接管和分離會話等等。掌握了Tmux之後,你就可以扔掉滑鼠了(只是個玩笑:D)。
Tmux("Terminal Multiplexer"的簡稱)可以讓我們在單個螢幕的靈活佈局下開出很多終端,我們就可以協作地使用它們。舉個例子,在一個皮膚中,我們用Vim修改一些配置檔案,在另一個皮膚,我們使用irssi聊天,而在其餘的皮膚,可以跟蹤一些日誌。然後,我們還可以開啟新的視窗來升級系統,再開一個新視窗來進行伺服器的ssh連線。在這些視窗皮膚間瀏覽切換和建立它們一樣簡單。它的高度可配置和可定製的,讓其成為你心中的延伸
在Linux/OSX下安裝Tmux
你可以通過編譯軟體源或者通過系統包管理器的方式安裝,我建議使用包管理器,這樣比編譯更快更簡單
OSX:
# sudo brew install tmux # sudo port install tmux
Debian/Ubuntu:
# sudo apt-get install tmux
RHEL/CentOS/Fedora(RHEL/CentOS 要求 EPEL repo):
$ sudo yum install tmux
Archlinux:
$ sudo pacman -S tmux
使用不同會話工作
使用Tmux的最好方式是使用會話的方式,這樣你就可以以你想要的方式,將任務和應用組織到不同的會話中。如果你想改變一個會話,會話裡面的任何工作都無須停止或者殺掉。讓我們來看看這是怎麼工作的。
讓我們開始一個叫做"session"的會話,並且執行top命令
$ tmux new -s new session $ top
然後輸入CTRL-b d從此會話脫離,想要重新連線此會話,需輸入:
$ tmux attach-session -t session
之後你會看到top操作仍然執行在重新連線的會話上。
一些管理sessions的命令:
$ tmux list-session $ tmux new-session <會話名> $ tmux attach-session -t <會話名> $ tmux rename-session -t <會話名> $ tmux choose-session -t <會話名> $ tmux kill-session -t <會話名>
使用不同的視窗工作
很多情況下,你需要在一個會話中執行多個命令,執行多個任務。我們可以在一個會話的多個視窗裡組織他們。在現代的GUI終端(比如 iTerm或者Konsole),一個視窗被視為一個標籤。在會話中配置了我們預設的環境之後,我們就能夠在一個會話中建立許多我們需要的視窗。視窗就像執行在會話中的應用程式,當我們脫離當前會話的時候,它仍在持續,讓我們來看一個例子:
$ tmux new -s my_session
按下CTRL-b c
這將會建立一個新的視窗,然後螢幕的游標移向它。現在你就可以在新視窗下執行你的新應用。你可以修改你當前視窗的名字。在目前的例子裡,我執行的top程式,所以top就是該視窗的名字
如果你想要重新命名,只需要按下:
CTRL-b
狀態條將會改變,這時你將可以重新命名當前的視窗
一旦在一個會話中建立多個視窗,我們需要在這些視窗間移動的辦法。視窗像陣列一樣組織在一起,從0開始用數字標記每個視窗,想要快速跳轉到其餘視窗:
CTRL-b <視窗號>
如果我們給視窗起了名字,我們可以使用下面的命令找到它們:
CTRL-b f
也可以列出所有視窗:
CTRL-b w
按照順序切換到不同的視窗:
CTRL-b n(到達下一個視窗) CTRL-b p(到達上一個視窗)
想要離開一個視窗,可以輸入 exit 或者:
CTRL-b &
關閉視窗之前,你需要確認一下。
把視窗分成許多皮膚
有時候你在編輯器工作的同時,需要檢視日誌檔案。在編輯的同時追蹤日誌真的很有幫助。Tmux可以讓我們把視窗分成許多皮膚。舉個例子,我們可以建立一個控制檯監測我們的伺服器,同時用編輯器構造複雜的開發環境,這樣就能同時進行編譯和除錯了。
讓我們建立另一個Tmux會話,讓其以皮膚的方式工作。首先,如果我們在某個會話中,那就從Tmux會話中脫離出來:
CTRL-b d
開始一個叫做"panes"的新會話:
$ tmux new -s panes
你可以水平或者豎直分割一個視窗,水平分割輸入:
CRTL-b "
現在你就擁有兩個皮膚,現在我們豎直分割:
CRTL-b %
又增加了兩個:
在他們之間移動:
CTRL-b <游標鍵>
結論
我希望這篇教程能對你有作用。此外,像Tmuxinator 或者 Tmuxifier這樣的工具,可以簡化Tmux會話,視窗和皮膚的建立及載入,你可以很容易就配置Tmux。如果你沒有使用過這些,嘗試一下吧!
via: http://xmodulo.com/2014/08/improve-productivity-terminal-environment-tmux.html
作者:Christopher Valerio 譯者:su-kaiyao 校對:wxy
相關文章
- 如何提高使用Java反射的效率?Java反射
- 終端複用軟體 tmuxUX
- Tmux 終端命令列介紹UX命令列
- tmux 終端複用詳解UX
- Windows 終端環境配置筆記Windows筆記
- 終端環境對go程式的影響?Go
- Tmux與Oh-my-zsh環境整合UX
- Linux環境搭建 | 全能終端神器——MobaXtermLinux
- [20231101]tmux環境變數的繼承問題.txtUX變數繼承
- ArrayMap是如何提高記憶體的使用效率的?記憶體
- HPC環境下資料下載:安全與效率的完美平衡!
- 如何在 Linux 環境下安裝使用 pycharm?LinuxPyCharm
- 如何提高介面測試的效率
- 如何提高App開發的效率?APP
- AoE:一種快速整合AI的終端執行環境SDKAI
- 在nodejs環境裡使用瀏覽器環境下的document物件NodeJS瀏覽器物件
- Windows環境下的Nginx環境搭建WindowsNginx
- 如何提高在Spring Boot中使用MQ JMS的效率 -Mark TaylorSpring BootMQ
- Windows 下如何使用 Linux 環境開發 PHP 專案!WindowsLinuxPHP
- 如何提高Java學習效率Java
- 專案管理效率如何提高?專案管理
- 如何使用Git提高研發團隊工作效率?Git
- tmux使用UX
- Hugging Face + JuiceFS:多使用者多節點環境下提升模型載入效率Hugging FaceUI模型
- 如何使用Mac終端登出MacMac
- Mac下git的環境搭建和基本使用MacGit
- 如何提高餐廳點菜效率的思考
- 香港伺服器的效率要如何提高?伺服器
- 純終端Linux環境或者無掛載顯示卡Linux環境執行Chrome例項LinuxChrome
- Linux環境下如何升級openssl?Linux
- win2000遠端桌面工具下載環境下的比較
- PyCharm的本地終端,無法進入、啟用、切換conda環境PyCharm
- 如何提高紙質文件管理效率
- 如何使用簡單的終端命令更新macOSMac
- PyCharm Pro - 提高 Python 編輯開發效率的終 極選擇!PyCharmPython
- 雲端計算環境下的BGP協議應用協議
- Tmux使用教程UX
- Tmux 使用教程UX
- windows環境下go module的使用和goland配置WindowsGoLand