Linux screen 命令指南


簡介

在使用 Linux 終端時,您有時可能需要同時執行多個程序。但是,如果您關閉終端或意外斷開遠端會話,程序將終止,您可能會丟失所有進度。這就是 Linux screen 命令派上用場的地方。

Screen 是一款功能強大的命令列實用程式,允許您在一個 shell 視窗或透過 SSH 連線建立和管理多個終端會話。即使您沒有物理連線到伺服器,它也是管理長期執行的程序或多個命令的便捷工具。

在本文中,我們將討論 Linux screen 命令的基礎知識、其用法以及一些管理終端會話的實用技巧和竅門。

安裝 Screen

大多數現代 Linux 發行版都預裝了 screen。但是,如果您的系統上尚未安裝,您可以使用發行版的軟體包管理器來安裝它。例如,在 Ubuntu 上,您可以使用以下命令安裝它:

sudo apt-get install screen

安裝完成後,您就可以開始使用 screen 命令了。

建立新的 Screen 會話

要建立新的 screen 會話,只需鍵入以下命令:

screen

這將在 screen 會話中啟動一個新的 shell 會話。現在,您可以像在普通終端中一樣執行任何所需的命令。

從 Screen 會話中分離

要從 screen 會話中分離,您可以按鍵盤快捷鍵“Ctrl+A”,然後按“d”。這將分離 screen 會話並返回到 shell 提示符。在 screen 會話中執行的所有程序將繼續在後臺執行。

重新連線到 Screen 會話

要重新連線到 screen 會話,您可以使用以下命令:

screen -r

這將使您重新連線到最後一個活動的 screen 會話。如果有多個 screen 會話正在執行,您可以指定會話 ID 以重新連線到特定的 screen 會話。

screen -r <session_id>

列出活動 Screen 會話

要列出所有活動的 screen 會話,您可以使用以下命令:

screen -ls

這將向您顯示所有活動 screen 會話及其對應的會話 ID 列表。

There are screens on:
   1168.pts-0.ip-10-0-0-45       (Detached)
   1323.pts-0.ip-10-0-0-45       (Detached)
   1343.pts-0.ip-10-0-0-45       (Detached)
3 Sockets in /run/screen/S-ubuntu.

終止 Screen 會話

要終止 screen 會話,您可以使用以下命令:

screen -X -S <session_id> quit

這將向指定的 screen 會話傳送“quit”命令,這將終止其內部執行的所有程序。

分割螢幕

screen 命令最有用的功能之一是能夠將終端視窗分割成多個區域。在同時處理多個任務時,這尤其有用。

要水平分割螢幕,您可以使用以下命令:

Ctrl+A, |

這會將終端視窗分成兩個水平區域。現在,您可以在每個區域執行不同的命令。

要垂直分割螢幕,您可以使用以下命令:

Ctrl+A, S

這會將終端視窗分成兩個垂直區域。

在區域之間導航

要導航到不同的區域,您可以使用以下命令:

Ctrl+A, Tab

這將在不同的區域之間切換。

Ctrl+A, <arrow_key>

調整區域大小

您可以使用以下命令調整 screen 不同區域的大小:

Ctrl+A, :resize +<number>

這會將當前區域的大小增加指定的行數。

Ctrl+A, :resize -<number>

這會將當前區域的大小減少指定的行數。

複製和貼上文字

您可以使用以下命令在 screen 的不同區域之間複製和貼上文字:

Ctrl+A, [

這將進入複製模式。您可以使用箭頭鍵導航到要複製的文字。

Spacebar

這將開始選擇文字。

Enter

這將複製選定的文字。

要貼上複製的文字,您可以使用以下命令:

Ctrl+A, ]

這將在游標位置貼上複製的文字。

命名 Screen 會話

您可以使用以下命令為 screen 會話命名,以便於識別:

screen -S <session_name>

這將建立一個具有指定名稱的新 screen 會話。

screen -r <session_name>

這將重新連線到具有指定名稱的 screen 會話。

Screen 命令的高階用法

除了 screen 命令的基本用法之外,還有許多高階功能可以使您的體驗更上一層樓。

使用特定配置建立新會話

您可以使用配置檔案建立具有特定配置的新 screen 會話。如果您想自定義新 screen 會話的環境,這將特別有用。

要使用特定配置建立新的 screen 會話,您可以使用以下命令:

screen -c <config_file>

這將使用配置檔案中指定的配置建立一個新的 screen 會話。

自定義狀態行

您可以自定義 screen 命令的狀態行以顯示有關當前 screen 會話的資訊。這可能包括會話名稱、時間和視窗數量。

要自定義狀態行,您可以使用以下命令:

Ctrl+A, :hardstatus string '<status_line>'

這會將狀態行設定為指定的字串。

建立和在視窗之間切換

除了將終端視窗分割成多個區域外,您還可以在同一個 screen 會話中建立和在多個視窗之間切換。

要建立一個新視窗,您可以使用以下命令:

Ctrl+A, c

這將在同一個 screen 會話中建立一個新視窗。

要在不同的視窗之間切換,您可以使用以下命令:

Ctrl+A, n

這將切換到下一個視窗。

Ctrl+A, p

這將切換到上一個視窗。

Ctrl+A, <window_number>

這將切換到指定的視窗編號。

向其他視窗傳送命令

您可以在同一個 screen 會話中向其他視窗傳送命令,而無需切換到它們。

要向另一個視窗傳送命令,您可以使用以下命令:

Ctrl+A, :number <window_number> stuff '<command>
'

這會將指定的命令傳送到指定的視窗。

監視其他視窗中的活動

您可以在同一個 screen 會話中監視其他視窗中的活動,而無需切換到它們。

要監視另一個視窗中的活動,您可以使用以下命令:

Ctrl+A, :monitor <window_number>

這將開始監視指定視窗中的活動。

要停止監視視窗中的活動,您可以使用以下命令:

Ctrl+A, :monitor off

這將停止監視當前視窗中的活動。

結論

screen 命令是一個功能強大的實用程式,可以在您使用 Linux 終端時讓您的生活更輕鬆。它允許您在一個 shell 視窗或透過 SSH 連線建立和管理多個終端會話。憑藉能夠將終端視窗分割成多個區域、複製和貼上文字以及在不同區域之間導航的能力,screen 命令可以幫助您管理長期執行的程序或多個命令,即使您沒有物理連線到伺服器。

在本文中,我們討論了 Linux screen 命令的基礎知識、其用法以及一些管理終端會話的實用技巧和竅門。我們希望本指南能幫助您在使用 Linux 終端時提高工作效率。

更新於:2023年3月23日

473 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.