linux-screen常用命令
linux screen 命令詳解
功能說明:
使用telnet或SSH遠程登錄linux時,如果連接非正常中斷(遠程機器關閉),重新連接時,系統將開一個新的session,無法恢復原來的session.screen命令可以解決這個問題。Screen工具是一個終端多路轉接器,在本質上,這意味著你能夠使用一個單一的終端窗口運行多終端的應用。
我的用法:
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程序。
參 數:
-A 將所有的視窗都調整為目前終端機的大小。
-d <作業名稱> 將指定的screen作業離線。
-h <行數> 指定視窗的緩沖區行數。
-m 即使目前已在作業中的screen作業,仍強制建立新的screen作業。
-r <作業名稱> 恢復離線的screen作業。
-R 先試圖恢復離線的作業。若找不到離線的作業,即建立新的screen作業。
-s 指定建立新視窗時,所要執行的shell。
-S <作業名稱> 指定screen作業的名稱。
-v 顯示版本信息。
-x 恢復之前離線的screen作業。
-ls或--list 顯示目前所有的screen作業。
-wipe 檢查目前所有的screen作業,並刪除已經無法使用的screen作業。
常用screen參數:
在每個screen session 下,所有命令都以 ctrl+a(C-a) 開始。
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 選定的內容貼上
--End--