如何在 Linux 上使用 screen 命令?


screen 命令是一個終端多路復用器。它類似於桌面環境的窗口管理器,只是它在終端內工作。您可以創建會話和拆分窗口。這是終端中一種非常強大的多任務處理方式。

安裝屏幕命令

screen 命令可以與您的發行版的默認包管理器一起安裝。以下是在大多數用戶使用的兩個主要發行版上安裝 screen 命令的步驟:

1. 在基於 Debian/Ubuntu 的系統上安裝

可以使用 apt 命令安裝 screen 命令。

sudo apt install screen
使用 Apt 安裝屏幕

2. 在基於 RedHat/Fedora 的系統上安裝

默認存儲庫中不存在屏幕包。相反,它們駐留在 EPEL(企業 Linux 的額外軟件包)存儲庫中。

您必須先添加一個回購協議。這可以通過 dnf 命令來完成。

sudo dnf install epel-release
添加 EPEL 存儲庫

然後安裝屏幕,輸入:

sudo dnf install screen
首先安裝使用 dnf 安裝屏幕

screen 命令的基本用法

在開始使用 screen 命令之前,了解一些與之相關的術語會很有幫助。存在 screen1 會議 虛擬終端集合 screen 管理。

一個會話可能包含多個會話 視窗 這些通常是獨立的交互式 shell。一個虛擬終端可以拆分如下: 疼痛 它們是終端內的矩形區域,由 screen這些窗格可以包含窗口。

1.使用不帶參數的screen

要使用屏幕,請鍵入:

screen

啟動一個“未命名”會話。我不知道與原始提示有什麼區別,但屏幕正在監聽命令。突如其來的 CTRL + A + ? 顯示鍵綁定 screen:

屏幕按鍵綁定屏幕按鍵綁定

正如剛才提到的, CTRL + A (有時寫成 ^A ) 是“命令鍵” screen按命令鍵並告訴 screen 按下的鍵是命令 screen.

(帶“A” CTRL + A 不是大寫。不用按 Shift 鑰匙。 “A”表示小寫的“a”。這是因為手冊頁和鍵綁定指的是小寫字母“a”。對於其他鍵,我們明確提到了這種情況。 )

還有一個類似 vim 的命令模式,可以通過按 CTRL + A + :

不同之處在於,您必須在命令模式下而不是鍵盤快捷鍵下輸入整個命令。例如, CTRL + A + X (大寫’x’)是 CTRL + A + : 然後輸入 remove 在窗格底部的提示處。

屏幕命令模式屏幕命令模式

2.創建命名會話

要創建命名會話,請在 -S 選項後指定會話名稱。

screen -S newsession

3.在會話中創建新窗口

要在會話中創建一個新窗口, CTRL + A + (小寫’c’)。突如其來的 CTRL + A + (雙引號)表示可以選擇的窗口列表。按下打開窗口 Enter 在列表中該窗口的選項中。

窗口列表窗口列表

要重命名當前窗口, CTRL + A + A (大寫’a’)。提示顯示在底部。在那裡輸入新名稱,然後按 Enter.

給窗口命名給窗口命名

4.列出活動會話

可能有多個 screen 會議將同時舉行。要列出它們,請輸入:

screen -ls
上市會議上市會議

該列表包含會話的 PID(進程 ID),後跟會話名稱。列表下方是網點數量

這個命令 screen 會話(添加在括號中)。 您可以在屏幕會話中運行屏幕命令。

5.結束會話

結束會話的方式取決於您是在會話內部還是外部。

會話外 要殺死,您需要知道會話的名稱或會話的 PID。他們可以從列表中獲得 screen -ls.

知道會話的名稱或 PID 後,輸入:

screen -X -S 607719 quit
退出畫面退出畫面

上面的命令終止了 PID 為 607719 的會話,打印 [screen is terminating] 返回到開始屏幕提示。

您還可以指定盡可能多的唯一 PID。例如,如果您有兩個 PID 為 699389 和 607719 的會話,並且您想要終止 PID 為 607719 的會話,您可以使用:

screen -X -S 60 quit

名稱也可以縮寫。

quit 這是命令 screen 這將終止會話。您可以通過這種方式向會話發送任何命令(有關所有可用命令,請參閱鍵綁定頁面)。

在會議中您可以通過按結束當前會話 CTRL + A + (反斜杠)。

屏幕作為終端多路復用器

screen 終端多路復用器。這意味著您可以將終端水平或垂直拆分為多個窗格。這些窗格可以水平或垂直細分。為此,您需要加入屏幕會話。

首先按下以垂直拆分您的設備 CTRL + A +| (管道/管道字符)

垂直拆分 2縱向劃分

窗格的左下角顯示窗口編號及其名稱。 screen 默認情況下,窗口編號 0 打開。

您可以通過按 CTRL + A + Tab 按下它,它將帶您到右側窗格。然後是選項列表(CTRL + A +") 或新的 (CTRL + A + c).創建新窗口後,終端如下所示:

多個窗格多個窗格

讓我們水平分割第一個窗口(垂直分割後創建的新窗口) CTRL + A + S (大寫的“s”),轉到一個新窗格(CTRL + A +Tab),這會創建一個新窗口 (CTRL + A + c).

您的終端現在應該如下所示:

水平分割水平分割

要刪除窗格, CTRL + A + X (大寫“x”)在該窗格中。

斷開並重新連接

真正的力量 screen 也就是說,您可以斷開會話並重新連接。從會話中分離將提示您從運行的位置返回 screen.和整個會議 在後台運行 一個在這裡 screen 過程。

如果您通過 SSH 訪問您的計算機,這將特別有用。 您可以在屏幕會話中運行長時間運行的命令 遠程機器可以從 screen 安全退出會話和 ssh 會話 本地機器.

幾個小時後,您可以再次通過 SSH 連接到機器並重新連接到您的屏幕會話。您可以看到該命令仍在運行。在正常的 SSH 會話中,此命令將被終止。

要斷開會話, CTRL + A + d (小寫’d’)。轉到原始提示。

分離後 1分離後

列出屏幕會話。

拆後掛牌拆後掛牌

要重新連接到會話,請輸入:

screen -r -S newsession

如果您設置窗格,它們將消失,並且您必須在必要時再次拆分終端。 Windows 仍將存在。

請注意,我們在這裡使用會話的名稱而不是 PID。

屏幕作為協作工具

令人驚訝的是,Screen 可以用作協作工具。描述如何公開連接 screen 來自兩台遠程計算機的會話。

假設您想向某人展示如何編輯您服務器上的配置文件。我創造 screen 服務器上的會話:

screen -S newsession

然後進入命令模式(CTRL + A + :) 進入。 multiuser onEnter

要求其他人以創建屏幕會話的同一用戶身份登錄 從另一台機器 輸入如下。

screen -x
一般屏幕會話一般屏幕會話

右邊的終端是為那些想要展示如何編輯配置文件的人準備的。左側終端僅反映右側終端中寫入的內容。這樣一個人可以打開 vim 或 nano 並向其他人展示如何編輯文件。

結論是

Screen 是一個非常有用的多任務命令,因為它允許您在終端內運行多個交互式 shell。有關屏幕詳細信息,請參閱該手冊。