您是否遇到過在遠程計算機上執行長時間運行任務的情況,然后連接突然斷開,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_messageoff#禁用視覺鈴聲vbelloff#將回滾緩沖區設置為10000defscrollback10000#自定義狀態行hardstatusalwayslastlinehardstatusstring'%{=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 的知識。
-
Linux
+關注
關注
87文章
11312瀏覽量
209738 -
計算機
+關注
關注
19文章
7511瀏覽量
88089 -
Ubuntu
+關注
關注
5文章
563瀏覽量
29841
發布評論請先 登錄
相關推薦
評論