- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認(rèn)證網(wǎng)站身份V標(biāo)記
- 域名注冊服務(wù)機構(gòu)許可:滇D3-20230001
- 代理域名注冊服務(wù)機構(gòu):新網(wǎng)數(shù)碼
大家是否都遇到過這樣的情況:在遠程機器上執(zhí)行一個長時間運行的任務(wù),突然之間連接斷開了,SSH會話被終止,正常運行的工作丟失了。幸運的是,有一個叫做screen
的實用工具,它能夠幫助我們恢復(fù)會話。
引言
Screen或GNU Screen是一個終端復(fù)用器。換句話說,你可以開始一個screen會話,然后在該會話中打開任意數(shù)量的窗口(虛擬終端)。在Screen中運行的進程即使在它們的窗口不可見時也會繼續(xù)運行,即使斷開了連接。
安裝Linux GNU Screen
screen包現(xiàn)在在大多數(shù)Linux發(fā)行版上都是預(yù)安裝的。您可以通過輸入以下命令來檢查它是否安裝在您的系統(tǒng)上:
screen --version
Screen version 4.06.02 (GNU) 23-Oct-17
如果您的系統(tǒng)上沒有安裝screen,您可以使用您的發(fā)行版的包管理器輕松安裝它。
sudo apt update
sudo apt install screen
sudo yum install screen
啟動Linux Screen
要開始一個screen會話,只需在控制臺中輸入screen
:
screen
這將打開一個screen會話,創(chuàng)建一個新窗口,并在該窗口中啟動一個shell。
現(xiàn)在您已經(jīng)打開了一個screen會話,您可以通過輸入以下命令來獲取命令列表:
Ctrl+a
?
命名會話在運行多個screen會話時非常有用。要創(chuàng)建一個命名會話,請使用以下參數(shù)運行screen命令:
screen -S session_name
選擇一個描述性的會話名稱總是一個好主意。
使用Linux Screen窗口
當(dāng)您開始一個新的screen會話時,它會創(chuàng)建一個帶有shell的單個窗口。
您可以在Screen會話中有多個窗口。
要創(chuàng)建一個帶有shell的新窗口,請輸入Ctrl+a
c
,將從范圍0...9
中分配第一個可用的數(shù)字給它。
以下是一些管理Linux Screen窗口的最常見命令:
? Ctrl+a
c
創(chuàng)建一個新窗口(帶有shell)。
? Ctrl+a
"
列出所有窗口。
? Ctrl+a
0
切換到窗口0(按編號)。
? Ctrl+a
A
重命名當(dāng)前窗口。
? Ctrl+a
S
將當(dāng)前區(qū)域水平分割成兩個區(qū)域。
? Ctrl+a
|
將當(dāng)前區(qū)域垂直分割成兩個區(qū)域。
? Ctrl+a
tab
將輸入焦點切換到下一個區(qū)域。
? Ctrl+a
Ctrl+a
在當(dāng)前窗口和上一個窗口之間切換。
? Ctrl+a
Q
關(guān)閉除當(dāng)前區(qū)域外的所有區(qū)域。
? Ctrl+a
X
關(guān)閉當(dāng)前區(qū)域。
從Linux Screen會話分離
您可以隨時通過輸入以下命令從screen會話中分離:
Ctrl+a
d
在screen會話中運行的程序在您分離會話后將繼續(xù)運行。
重新連接到Linux Screen
要恢復(fù)您的screen會話,請使用以下命令:
screen -r
如果您的機器上有多個screen會話正在運行,您需要在r
開關(guān)后附加screen會話ID。
要找到會話ID,請使用以下命令列出當(dāng)前運行的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.
如果您想恢復(fù)screen 10835.pts-0,那么輸入以下命令:
screen -r 10835
自定義Linux Screen
當(dāng)screen
啟動時,它會從/etc/screenrc
和~/.screenrc
(如果文件存在)中讀取其配置參數(shù)。我們可以使用.screenrc
文件根據(jù)我們的偏好修改默認(rèn)的Screen設(shè)置。
這是一個帶有自定義狀態(tài)行和一些額外選項的~/.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會話。
無論是服務(wù)器運維、科學(xué)計算還是持續(xù)集成,GNU Screen 都是 Linux 環(huán)境下不可或缺的生產(chǎn)力工具。通過簡單的配置優(yōu)化,它還能變身個性化終端工作臺?,F(xiàn)在就掌握這門必備技能,讓遠程操作更穩(wěn)定、更高效!
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP