screen工具是linux下虛擬終端的一個經常使用工具。在 發現這個工具以前,筆者常常在遠程ssh中運行須要長時間處理數據的命令,好比遠程編譯安裝軟件,若是在編譯的過程當中網絡斷開,那這個編譯進程就會中止, 形成想不到的後果。自從有了screen命令,我不再用怕網線不穩和運行須要長時間處理數據的命令。html
screen在redhat,centos系統中的安裝命令是:yum install screenlinux
screen案例:shell
新建一個lnmp會話:screen -S lnmp(lnmp爲會話名,可本身定義)windows
離開會話並讓程序斷續運行:ctrl a d (按住ctrl不放,分別按 a 和 d)centos
恢復後臺運行的會話:screen -r lnmp(lnmp爲本身定義的會話名)網絡
顯示全部screen建立的會話:screen -lssession
在會話裏執行exit命令會話是結束運行並退到shell中ssh
參 數:工具
-A 將全部的視窗都調整爲目前終端機的大小。
-d <做業名稱> 將指定的screen做業離線。即detached
-h <行數> 指定視窗的緩沖區行數。
-m 即便目前已在做業中的screen做業,仍強制創建新的screen做業。
-r <做業名稱> 恢復離線的screen做業。
-R 先試圖恢復離線的做業。若找不到離線的做業,即創建新的screen做業。
-s 指定創建新視窗時,所要執行的shell。
-S <做業名稱> 指定screen做業的名稱。
-v 顯示版本信息。
-x 恢復以前離線的screen做業。
-ls或–list 顯示目前全部的screen做業。
-wipe 檢查目前全部的screen做業,並刪除已經無法使用的screen做業。.net
1,開啓一個screen並進入:
screen -S test1 #這裏用-S表示給screen起名字,之後切換的時候比較方便。這時就進去了screen test1了。裏面能夠跑一些程序。
2,退出該screen:
Ctrl-a d #這裏的ctrl-a表示同時按ctrl鍵和a鍵,而後再單獨按d鍵。這時退到跟終端。
3,在根下查看開啓的全部screen:
screen -ls # 好比會有25764.test1 (Detached)等。
4,在根下進入某個screen:
screen -r test1 #這時又進入到指定的screen session中,或者screen -r 25764。
5,關閉該session:
exit #在該screen中退出,退到根下。
6,強制鏈接,踢掉原來的
screen -D -r 20791
screen -x -r 20791(共享原來的)
7,當前窗口假死,強制關閉當前窗口,跳到下一個
Ctrl-a K
8,上翻
Ctrl-a Ctrl-[
screen [-AmRvx -ls -wipe][-d <做業名稱>][-h <行數>][-r <做業名稱>][-s ][-S <做業名稱>]
screen爲多重視窗管理程序。此處所謂的視窗,是指一個全屏幕的文字模式畫面。一般只有在使用telnet登入主機或是使用老式的終端機時,纔有可能用到screen程序。
C-a ? -> Help,顯示簡單說明
C-a c -> Create,開啓新的 window
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 -> Windows,列出已開啓的 windows 有那些
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 選定的內容貼上