linux - screen命令

來源:趣味經驗館 2.88W

1、screen命令簡介

Screen是一款由GNU計劃開發的用於命令行終端切換的自由軟件。用户可以通過該軟件同時連接多個本地或遠程的命令行會話,並在其間自由切換。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了統一的管理多個會話的界面和相應的功能。

在Screen環境下,所有的會話都獨立的運行,並擁有各自的編號、輸入、輸出和窗口緩存。用户可以通過快捷鍵在不同的窗口下切換,並可以自由的重定向各個窗口的輸入和輸出。

2、screen命令語法

$> screen [-AmRvx -ls -wipe][-d <作業名稱>][-h <行數>][-r <作業名稱>][-s ][-S <作業名稱>]

-A  將所有的視窗都調整為目前終端機的大小。

-d   <作業名稱>  將指定的screen作業離線。

-h   <行數>  指定視窗的緩衝區行數。

-m  即使目前已在作業中的screen作業,仍強制建立新的screen作業。

-r   <作業名稱>  恢復離線的screen作業。

-R  先試圖恢復離線的作業。若找不到離線的作業,即建立新的screen作業。

-s  指定建立新視窗時,所要執行的shell。

-S   <作業名稱>  指定screen作業的名稱。

-v  顯示版本信息。

-x  恢復之前離線的screen作業。

-ls或--list  顯示目前所有的screen作業。

-wipe  檢查目前所有的screen作業,並刪除已經無法使用的screen作業。

3、常用screen參數

screen -S yourname -> 新建一個叫yourname的session

screen -ls         -> 列出當前所有的session

screen -r yourname -> 回到yourname這個session

screen -d yourname -> 遠程detach某個session

screen -d -r yourname -> 結束當前session並回到yourname這個session

4、在Session下,使用ctrl+a(C-a) 

C-a ? -> 顯示所有鍵綁定信息

C-a c -> 創建一個新的運行shell的窗口並切換到該窗口

C-a n -> Next,切換到下一個 window 

C-a p -> Previous,切換到前一個 window 

C-a 0..9 -> 切換到第 0..9 個 window

Ctrl+a [Space] -> 由視窗0循序切換到視窗9

C-a C-a -> 在兩個最近使用的 window 間切換 

C-a x -> 鎖住當前的 window,需用用户密碼解鎖

C-a d -> detach,暫時離開當前session,將目前的 screen session (可能含有多個 windows) 丟到後台執行,並會回到還沒進 screen 時的狀態,此時在 screen session 裏,每個 window 內運行的 process (無論是前台/後台)都在繼續執行,即使 logout 也不影響。 

C-a z -> 把當前session放到後台執行,用 shell 的 fg 命令則可回去。

C-a w -> 顯示所有窗口列表

C-a t -> time,顯示當前時間,和系統的 load 

C-a k -> kill window,強行關閉當前的 window

C-a [ -> 進入 copy mode,在 copy mode 下可以回滾、搜索、複製就像用使用 vi 一樣

C-b Backward,PageUp 

C-f Forward,PageDown 

H(大寫) High,將光標移至左上角 

L Low,將光標移至左下角 

0 移到行首 

$ 行末 

w forward one word,以字為單位往前移 

b backward one word,以字為單位往後移 

Space 第一次按為標記區起點,第二次按為終點 

Esc 結束 copy mode 

C-a ] -> paste,把剛剛在 copy mode 選定的內容貼上

舉例:

創建會話(-m 強制):

screen -dmS session_name

# session_name session名稱

關閉會話:

screen -X -S [session # you want to kill] quit

查看所有會話:

screen -ls

進入會話:

screen -r session_name

linux screen命令

熱門標籤