Screen是一款由GNU計劃開發的用於命令行終端切換的自由軟件。用戶能夠經過該軟件同時鏈接多個本地或遠程的命令行會話,並在其間自由切換。GNU Screen能夠看做是窗口管理器的命令行界面版本。它提供了統一的管理多個會話的界面和相應的功能。shell
只要Screen自己沒有終止,在其內部運行的會話均可以恢復。這一點對於遠程登陸的用戶特別有用——即便網絡鏈接中斷,用戶也不會失去對已經打開的命令行會話的控制。只要再次登陸到主機上執行screen -r就能夠恢復會話的運行。一樣在暫時離開的時候,也能夠執行分離命令detach,在保證裏面的程序正常運行的狀況下讓Screen掛起(切換到後臺)。這一點和圖形界面下的VNC很類似。緩存
在Screen環境下,全部的會話都獨立的運行,並擁有各自的編號、輸入、輸出和窗口緩存。用戶能夠經過快捷鍵在不一樣的窗口下切換,並能夠自由的重定向各個窗口的輸入和輸出。Screen實現了基本的文本操做,如複製粘貼等;還提供了相似滾動條的功能,能夠查看窗口情況的歷史記錄。窗口還能夠被分區和命名,還能夠監視後臺窗口的活動。 會話共享 Screen可讓一個或多個用戶從不一樣終端屢次登陸一個會話,並共享會話的全部特性(好比能夠看到徹底相同的輸出)。它同時提供了窗口訪問權限的機制,能夠對窗口進行密碼保護。網絡
流行的Linux發行版(例如Red Hat Enterprise Linux)一般會自帶screen實用程序,若是沒有的話,能夠從GNU screen的官方網站下載。網站
[root@zero01 /]# yum -y install screen [root@zero01 /]# rpm -qa | grep screen screen-4.0.3-19.el6.x86_64
4.一、建立 screenspa
[root@zero01 tmp]# screen -S ghq_03 //建立會話,並指定名稱,screen 可直接建立,生成默認名稱,建議指定方便區分
4.二、顯示 screen 列表命令行
[root@zero01 tmp]# screen -ls //顯示當前主機-用戶的 screen 會話列表 There are screens on: 62278.ghq_02 (Detached) 62493.ghq_03 (Attached) 62262.ghq_01 (Detached) 3 Sockets in /var/run/screen/S-root.
後臺運行的狀態主要有下面兩種,相互切換:blog
4.三、關閉 、跳出 screenip
[root@zero01 tmp]# exit //關閉--退出並關閉當前的 screen,screen 消失,運行的程序關閉,同快捷鍵:Ctrl + D [root@zero01 tmp]# screen -d 62262 //跳出--退出不關閉當前的 screen,screen 後臺運行,程序後臺運行,同快捷鍵:Ctrl + A + D
4.四、進入已建立的 screen開發
[root@zero01 tmp]# screen -r ghq_01 //只可進入 Detached 狀態的 screen,Attached 狀態時,會提示 screen 有人在用,不進入 There is a screen on: 62262.ghq_01 (Attached) There is no screen to be resumed matching ghq_01. [root@zero01 tmp]# screen -x 62262 //進入已建立的 screen,Detached 狀態時,直接進入;Attached 狀態時,共享 screen [detached] [root@zero01 tmp]# screen -x ghq_01 [detached]
# 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做業。
|