2021-05-12 14:32:11
如何使用 Linux screen
您是否遇到過在遠端計算機上執行長時間執行任務的情況,並且突然連線斷開, SSH 對談終止了並且您的工作丟失了。好吧,它在某些時候發生在我們所有人身上,不是嗎?幸運的是,有一個實用程式叫做 screen 允許我們恢復我們的對談。
介紹
screen 或 GNU screen 是終端多路複用器。換句話說,這意味著您可以啟動 screen 對談,然後在該對談中開啟任意數量的視窗(虛擬終端)。即使斷開連線,當其視窗不可見時,在 screen 上執行的進程將繼續執行。
安裝 Linux screen
現在大多數 Linux 發行版上已經預裝了 screen 包。您可以通過鍵入以下內容來檢查系統上是否安裝了它:
linuxidc@linuxidc:~/www.linuxidc.com$ screen --version
Screen version 4.06.02 (GNU) 23-Oct-17
如果您的系統上沒有安裝 screen ,則可以使用發行版的軟體包管理器輕鬆安裝。
在 Ubuntu 和 Debian 上安裝 screen
linuxidc@linuxidc:~/www.linuxidc.com$ sudo apt install screen
在 CentOS 和 Fedora 上安裝 screen
linuxidc@linuxidc:~/www.linuxidc.com$ sudo yum install screen
啟動 Linux screen
要啟動 screen 對談,只需在控制台鍵入 screen :
screen
這將開啟一個 screen 對談,建立一個新視窗並在該視窗中啟動一個 shell 。
現在您已經開啟了一個 screen 對談,您可以通過輸入以下命令獲取命令列表:
Ctrl+a ?
命名對談
執行多個 screen 對談時,命名對談非常有用。要建立命名對談,請使用以下引數執行 screen 命令:
screen -S session_name
選擇描述性有意義的對談名稱總是一個好主意。
使用 Linux Screen 視窗
預設情況下,當您啟動新的 screen 對談時,它會建立一個包含 shell 的單個視窗。
您可以在 screen 對談中擁有多個視窗。
要建立一個有 shell 的新視窗請鍵入 Ctrl+a c ,將為其分配範圍 0...9 中的第一個可用編號。
以下是一些用於管理 Linux Screen 視窗 的最常用命令:
- Ctrl+a c 建立一個新視窗(帶shell)
- Ctrl+a " 列出所有視窗
- Ctrl+a 0 切換到視窗 0(按編號)
- Ctrl+a A 重新命名當前視窗
- Ctrl+a S 將當前區域水平分割為兩個區域
- Ctrl+a | 將當前區域垂直分成兩個區域
- Ctrl+a tab 將輸入焦點切換到下一個區域
- Ctrl+a Ctrl+a 在當前和之前的區域之間切換
- Ctrl+a Q 關閉除當前區域之外其他所有區域
- Ctrl+a X 關閉當前區域
從 Linux screen 對談中分離出來
您可以通過鍵入以下內容隨時從 screen 對談中分離:
Ctrl+a d
從對談中分離後,在 screen 對談中執行的程式將繼續執行。
重新連線到 Linux screen
要恢復 screen 對談,請使用以下命令:
screen -r
如果您的計算機上執行了多個 screen 對談,則需要在 r 後附加 screen 對談 ID 。
要查詢 screen 對談 ID,可以使用如下命令列出當前執行的列表:
linuxidc@linuxidc:~/www.linuxidc.com$ screen -ls
There are screens on:
15174.session_name (08/13/2019 09:19:34 PM) (Attached)
12475.pts-0.linuxidc (08/13/2019 09:16:31 PM) (Attached)
12230.pts-0.linuxidc (08/13/2019 09:15:42 PM) (Detached)
3 Sockets in /run/screen/S-linuxidc.
如果要還原 12475.pts-0 ,請鍵入以下命令:
linuxidc@linuxidc:~/www.linuxidc.com$ screen -r 12475
There is a screen on:
12475.pts-0.linuxidc (08/13/2019 09:16:32 PM) (Attached)
There is no screen to be resumed matching 12475.
自定義 Linux screen
如果 /etc/screenrc 和 ~/.screenrc 檔案存在,當 screen 啟動時從中讀取它的設定引數。我們可以通過 .screenrc 檔案根據我們自己的偏好修改預設 screen 設定。
以下是一個範例 ~/.screenrc設定, 有自定義狀態行和幾個附加選項:
?/.screenrc
# 關閉歡迎資訊 startup_message off # 禁用視覺鈴聲 vbell off # 將回滾緩衝區設定為10000 defscrollback 10000 # 自定義狀態行 hardstatus alwayslastline hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'
基本的 Linux screen 用法
以下是開始使用 screen 的最基本步驟:
- 在命令提示字元下,鍵入 screen 。
- 執行所需的程式。
- 使用鍵序列 Ctrl-a + Ctrl-d 從 screen 對談中分離。
- 鍵入即可重新連線到 screen 對談 screen -r 。
結論
在本教學中,您學習了如何使用 Gnu Screen 。現在,您可以開始使用 Screen 實用程式,從單個對談建立多個 screen 視窗,在視窗之間導航,分離和恢復 screen 對談,並使用 .screenrc 檔案個性化您的 screen 終端。
在 screen 使用者手冊頁面上還有很多關於 Gnu screen 的知識。
相關文章