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 終端時提高工作效率。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP