首頁 > 環境與工具程式 > screen

screen:多終端會話管理

GNU Screen 是一個終端多工器,可讓您在單一終端機中管理多個獨立的 shell 會話。它提供了強大的功能,例如在網路連線中斷時保持會話,同時執行多個任務,以及與其他使用者共用會話。當您需要在背景安全地維護長時間執行的任務時,它特別有用。

概述

screen 是一個強大的工具,可讓您在背景維護終端會話、建立和切換多個會話,甚至共用會話。當您希望確保 SSH 連線中斷時工作不會中斷時,它特別有用,感覺就像在單一終端機視窗中使用多個虛擬終端機一樣。

主要功能

  • 會話分離與重新連接 (Detaching and Reattaching)
  • 多視窗管理 (Multiple Windows)
  • 會話共用 (Session Sharing)
  • 日誌記錄 (Logging)
  • 捲動緩衝區 (Scrollback Buffer)

主要選項

說明執行 screen 命令時使用的主要選項以及 screen 會話內使用的主要快捷鍵。

命令執行選項

會話內快捷鍵 (Ctrl+a 前綴)

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`screen` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

使用範例

screen 命令的各種使用範例。

啟動新的 screen 會話

screen

最基本的使用方法,啟動新的 screen 會話。

指定名稱啟動會話

screen -S my_long_running_task

為會話命名,以便日後輕鬆識別和重新連接。

中斷會話 (Detach)

screen -d <session_name_or_pid>

在 screen 會話內按下 Ctrl+a d 以中斷會話並返回終端機。或者,您可以強制中斷正在執行的會話。

重新連接會話 (Reattach)

screen -r

重新連接到已中斷的會話。如果只有一個會話,則會自動連接。

透過名稱重新連接特定會話

screen -r my_long_running_task

重新連接到指定名稱的會話。

查看執行中的會話列表

screen -ls

檢查目前活躍的 screen 會話列表。

強制終止會話

screen -X <session_name_or_pid> quit

強制終止不再需要的會話。(注意:這可能會中斷任務)

安裝

GNU Screen 通常預裝在大多數 Linux 發行版中,或者可以透過套件管理員輕鬆安裝。

Debian/Ubuntu

sudo apt update && sudo apt install screen

使用 APT 套件管理員進行安裝。

CentOS/RHEL/Fedora

sudo yum install screen
# 或
sudo dnf install screen

使用 YUM 或 DNF 套件管理員進行安裝。

Arch Linux

sudo pacman -S screen

使用 Pacman 套件管理員進行安裝。

提示與注意事項

使用 screen 時的實用提示和注意事項。

利用 .screenrc 檔案

您可以透過使用者主目錄中的 `.screenrc` 檔案自訂 screen 的預設設定。例如,您可以設定預設 shell、捲動緩衝區大小、狀態列等。

  • 位置: ~/.screenrc
  • 範例設定: defscrollback 10000 caption always '%{= gk}%H %L=%-w%?%F%fn%W%? %t %{-}%+w %-= %D %m/%d %C%a'

記住 Ctrl+a 前綴

screen 的所有內部命令預設都使用 Ctrl+a 作為前綴。記住這個組合是使用 screen 的關鍵。如果 Ctrl+a 與其他程式衝突,您可以更改 `.screenrc` 中的前綴(例如,將其更改為 Ctrl+j,使用 `escape ^Jj`)。

指定會話名稱的重要性

透過 `screen -S ` 為會話命名,可以減少管理多個會話時的混淆,並輕鬆重新連接到特定會話。

使用捲動緩衝區

按下 Ctrl+a [ 進入捲動模式,然後使用箭頭鍵或 PageUp/PageDown 鍵查看之前的輸出。按 q 退出捲動模式。


相同類別命令