使用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 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 選定的內容貼上
Linux screen命令詳解
linux下screen主要是管理程式的,用screen管理的程序可以在使用者斷開連線的時候保持程式繼續在伺服器上執行。第一步 首先肯定是登入到linux伺服器上。敲入screen ls 命令可以看到伺服器上已有的screen。用screen s s的大寫 screen名稱可以建立乙個screen。...
linux screen 命令詳解
作為linux伺服器管理員,經常要使用ssh登陸到遠端linux機器上做一些耗時的操作。也許你遇到過使用telnet或ssh遠端登入linux,執行一些程式。如果這些程式需要執行很長時間 幾個小時 而程式執行過程中出現網路故障,或者客戶機故障,這時候客戶機與遠端伺服器的鏈結將終端,並且遠端伺服器沒有...
linux screen 命令詳解
linux screen 命令詳解 功能說明 多重視窗管理程式。語 法 screen amrvx ls wipe d 作業名稱 h 行數 r 作業名稱 s s 作業名稱 補充說明 screen為多重視窗管理程式。此處所謂的視窗,是指乙個全螢幕的文字模式畫面。通常只有在使用telnet登入主機或是使用...