screen 命令及其示例

wongchaofan發表於2024-06-02

Linux 中的screen命令提供了從單個ssh會話啟動和使用多個 shell 會話的功能。當使用“screen”啟動程序時,該程序可以從會話中分離,然後可以在稍後重新連線該會話。當會話分離時,最初從螢幕啟動的程序仍在執行並由螢幕本身管理。然後,該程序可以在稍後重新連線會話,並且終端仍在那裡,就像它離開時一樣。語法:

screen [-opts] [cmd [args]]

選項:

  • -a:它將所有功能強制放入每個視窗的 termcap 中。
  • -A -[r|R]:它使所有視窗適應新的顯示寬度和高度。
  • -c 檔案:它讀取配置檔案而不是“.screenrc”。
  • -d (-r):分離在其他地方執行的螢幕(然後重新連線到這裡)。
  • -dmS 名稱:它作為守護程序啟動:處於分離模式的螢幕會話。
  • -D (-r):分離並登出遠端(然後重新連線)。
  • -D -RR:它會做任何需要的事情來獲得螢幕會話。
  • -e xy:改變命令字元。
  • -f:開啟流量控制,-fn = 關閉,-fa = 自動。
  • -h lines:設定回滾歷史緩衝區的大小。
  • -i:當流控制開啟時,它會更快地中斷輸出。
  • -l:開啟登入模式(更新/var/run/utmp),-ln = 關閉。
  • -ls [match]:顯示所有附加的螢幕。
  • -L:開啟輸出日誌。
  • -m:忽略$STY 變數,建立一個新的螢幕會話。
  • -O:它選擇最佳輸出而不是精確的 vt100 模擬。
  • -p 視窗:如果存在,則預先選擇命名的視窗。
  • -q:安靜啟動。如果不成功,則以非零返回碼退出。
  • -Q:該命令將把響應傳送到查詢過程的標準輸出。
  • -r [會話]:重新連線到分離的螢幕程序。
  • -R:如果可能則重新連線,否則開始新的會話。
  • -S sockname:它將這個會話命名為.sockname,而不是…
  • -t title:設定標題。(視窗的名稱)。
  • -T term:它使用 term 作為視窗的 $TERM,而不是“螢幕”。
  • -U:它告訴螢幕使用UTF-8編碼。
  • -v:列印“螢幕版本 4.06.02 (GNU) 23-Oct-17”。
  • -x:附加到未分離的螢幕。(多顯示模式)。
  • -X:在指定的會話中作為螢幕命令執行。

快捷鍵選項:

  • Ctrl-a + c:建立一個新視窗。
  • Ctrl-a + w:顯示當前開啟的所有視窗的列表。
  • Ctrl-a + A:重新命名當前視窗。當您列出使用 Ctrl-a + w 開啟的視窗列表時,將顯示該名稱。
  • Ctrl-a + n:轉到下一個視窗。
  • Ctrl-a + p:轉到上一個視窗。
  • Ctrl-a + Ctrl-a:返回最後使用的視窗。
  • Ctrl-a + k:關閉當前視窗(kill)。
  • Ctrl-a + S:水平分割當前視窗。要在視窗之間切換,請按 Ctrl-a + Tab。
  • Ctrl-a + |:垂直分割當前視窗。
  • Ctrl-a + X:關閉活動分割視窗
  • Ctrl-a + Q:關閉所有拆分視窗
  • Ctrl-a + d:分離螢幕會話但不停止它。
  • Ctrl-a + r:重新連線分離的螢幕會話。
  • Ctrl-a + [:啟動複製模式。
  • Ctrl-a + ]:貼上複製的文字。

示例:

安裝

sudo apt install screen

  • -S:它將在螢幕內啟動一個新視窗,併為該視窗命名。它會建立一個由該名稱標識的會話。該名稱可用於在稍後重新連線螢幕。
screen -S file
  • -ls:用於顯示當前開啟的螢幕,包括在後臺執行的螢幕。它將列出所有已連線和已分離的螢幕會話。

  • -d:用於分離螢幕會話,以便將來可以重新連線。也可以藉助快捷鍵Ctrl-a + d來完成
screen -d 1643
  • -r:用於重新連線之前分離的螢幕會話。
screen -r 1643

相關文章