- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
大家是否都遇到過這樣的情況:在遠程機器上執行一個長時間運行的任務,突然之間連接斷開了,SSH會話被終止,正常運行的工作丟失了。幸運的是,有一個叫做screen
的實用工具,它能夠幫助我們恢復會話。
引言
Screen或GNU Screen是一個終端復用器。換句話說,你可以開始一個screen會話,然后在該會話中打開任意數量的窗口(虛擬終端)。在Screen中運行的進程即使在它們的窗口不可見時也會繼續運行,即使斷開了連接。
安裝Linux GNU Screen
screen包現在在大多數Linux發行版上都是預安裝的。您可以通過輸入以下命令來檢查它是否安裝在您的系統上:
screen --version
Screen version 4.06.02 (GNU) 23-Oct-17
如果您的系統上沒有安裝screen,您可以使用您的發行版的包管理器輕松安裝它。
sudo apt update
sudo apt install screen
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。
要找到會話ID,請使用以下命令列出當前運行的screen會話:
screen -ls
There are screens on:
10835.pts-0.linuxize-desktop (Detached)
10366.pts-0.linuxize-desktop (Detached)
2 Sockets in /run/screens/S-linuxize.
如果您想恢復screen 10835.pts-0,那么輸入以下命令:
screen -r 10835
自定義Linux Screen
當screen
啟動時,它會從/etc/screenrc
和~/.screenrc
(如果文件存在)中讀取其配置參數。我們可以使用.screenrc
文件根據我們的偏好修改默認的Screen設置。
這是一個帶有自定義狀態行和一些額外選項的~/.screenrc
配置樣本:
~/.screenrc
# Turn off the welcome message
startup_message off
# Disable visual bell
vbell off
# Set scrollback buffer to 10000
defscrollback 10000
# Customize the status line
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的最基本步驟:
1. 在命令提示符下輸入screen
。
2. 運行所需的程序。
3. 使用鍵序列Ctrl-a
+ Ctrl-d
從screen會話中分離。
4. 通過輸入screen -r
重新連接到screen會話。
無論是服務器運維、科學計算還是持續集成,GNU Screen 都是 Linux 環境下不可或缺的生產力工具。通過簡單的配置優化,它還能變身個性化終端工作臺。現在就掌握這門必備技能,讓遠程操作更穩定、更高效!
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP