使用 GNU Screen 的小技巧
對於一般用戶而言,命令行終端窗口可能是令人困惑和神秘的。但隨著你對 Linux 終端的進一步了解,你很快就會意識到它的高效和強大。不過,也不需要很長時間,你就會想讓終端變得更加高效,除了將更多的終端放到你的終端,還有什麼高好的方法能夠提升你的終端效率呢?
終端復用
終端的許多優點之一是它是一個集中控制的界面。它是一個能讓你訪問數百個應用程序的窗口,而你與每一個應用程序進行交互所需要的只是一個鍵盤。但是,現代計算機幾乎總是有多餘的處理能力,而且現代計算機專家喜歡多任務處理,導致一個窗口處理數百個應用程序的能力是相當有限的。
解決這一問題的常見答案是終端復用:即將虛擬終端疊放在一起,然後在它們之間移動的能力。通過終端復用器,你保持了集中控制,但是當你進行多任務時,你能夠進行終端切換。更好的是,你能夠在終端中拆分屏幕,使得在同一時間顯示多個屏幕窗口。
選擇合適的復用器
一些終端提供類似的功能,有標籤式界面和分割式視圖,但也有細微的差別。首先,這些終端的功能依賴於圖形化的桌面環境。其次,許多圖形化的終端功能需要滑鼠交互或使用不方便的鍵盤快捷鍵。終端復用器的功能在文本控制台上和在圖形桌面上一樣好用,而且鍵位綁定是針對常見的終端序列設計的,很方便。
現有兩種流行的復用器:tmux 和 GNU Screen。儘管你與它們互動的方式略有不同,但它們做同樣的事情,而且大多具有相同的功能。這篇文章是 GNU Screen 的入門指南。關於 tmux 的相關介紹,請閱讀 Kevin Sonney 的 tmux 介紹。
使用 GNU Screen
GNU Screen 的基本用法很簡單,通過 screen
命令啟動,你將進入 Screen 會話的第 0 個窗口。在你決定需要一個新的終端提示符前,你可能很難注意到有什麼變化。
當一個終端窗口被某項活動佔用(比如,你啟動了文本編輯器 Vim 或 Jove 或者你在處理音視頻,或運行批處理任務),你可以新建一個窗口。要打開一個新的窗口,按 Ctrl+A
,釋放,然後按 c
。這將在你現有窗口的基礎上創建一個新的窗口。
你會知道當前你是在一個新的窗口中,因為你的終端除了默認的提示符外,似乎沒有任何東西。當然,你的另一個終端仍然存在,它只是躲在新窗口的後面。要遍歷打開的窗口,按 Ctrl+A
,釋放,然後按 n
(表示下一個)或按 p
(表示上一個)。在只打開兩個窗口的情況下, n
和 p
的功能是一樣的,但你可以隨時打開更多的窗口(Ctrl+A
,然後 c
),並在它們之間切換。
分屏
GNU Screen 的默認行為更像移動設備的屏幕,而不是桌面:你一次只能看到一個窗口。如果你因為喜歡多任務而使用 GNU Screen ,那麼只關注一個窗口可能看起來是一種退步。幸運的是,GNU Screen 可以讓你把終端分成窗口中的窗口。
要創建一個水平分割窗口,按 Ctrl+A
,然後按 s
。這將把一個窗口置於另一個窗口之上,就像窗格一樣。然而,在你告訴它要顯示什麼之前,分割的空間是沒有用途的。因此,在創建一個分割窗後,你可以用 Ctrl+A
,然後用 Tab
移動到分割窗中。一旦進入,使用 Ctrl+A
然後 n
瀏覽所有可用的窗口,直到你想顯示的內容出現在分割窗格中。
你也可以按 Ctrl+A
然後按 |
(這是一個管道字元,在大多數鍵盤上通過按下 shift
鍵加上 ``)創建垂直分割窗口。
自定義 GNU Screen
GNU Screen 使用基於 Ctrl+A
的快捷鍵。根據你的習慣,這可能會讓你感覺非常自然,也可能非常不方便,因為你可能會用 Ctrl+A
來移動到一行的開頭。無論怎樣,GNU Screen 允許通過 .screenrc
配置文件進行各種定製。你可以用這個來改變觸發鍵的綁定(稱為 「轉義」 鍵綁定)。
escape ^jJ
你還可以添加一個狀態行,以幫助你在 Screen 會話中保持自己不迷失。
# status bar, with current window highlighted
hardstatus alwayslastline
hardstatus string '%{= kG}[%{G}%H%? %1`%?%{g}][%= %{= kw}%-w%{+b yk} %n*%t%?(%u)%? %{-}%+w %=%{g}][%{B}%m/%d %{W}%C%A%{g}]'
# enable 256 colors
attrcolor b ".I"
termcapinfo xterm 'Co#256:AB=E[48;5;%dm:AF=E[38;5;%dm'
defbce on
在有多個窗口打開的會話中,有一個時刻提醒哪些窗口具有焦點活動,哪些窗口有後台活動的提醒器特別有用。它類似一種終端的任務管理器。
下載備忘單
當你學習 GNU Screen 的使用方法時,需要記住很多新的鍵盤命令。有些命令你馬上就能記住,但那些你不常使用的命令可能就很難記住了。你可以按 Ctrl+A
然後再按 ?
來訪問 GNU Screen 的幫助界面,但如果你更喜歡一些可以列印出來並放在鍵盤邊的東西,請 下載我們的 GNU Screen 備忘單。
學習 GNU Screen 是提高你使用你最喜歡的 終端模擬器 的效率和敏捷性的一個好方法。請試一試吧!
via: https://opensource.com/article/21/4/gnu-screen-cheat-sheet
作者:Seth Kenlon 選題:lujun9972 譯者:ddl-hust 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive