1. 介紹
Screen是一個全屏窗口管理器,它在幾個進程(通常是交互式shell)之間復用物理終端。每個虛擬終端提供DEC VT100終端的功能,此外,ANSI X3.64 (ISO 6429)和ISO 2022標准的幾個控制功能(例如,插入/刪除行和支持多字符集)。每個虛擬終端都有一個滾動歷史緩沖區,還有一個復制粘貼機制,允許用戶在窗口之間移動文本區域。當screen被調用時,它會創建一個單獨的窗口,其中包含一個shell(或指定的命令),然后您就可以像往常一樣使用這個程序了。然后,在任何時候,您都可以創建包含其他程序的新(全屏)窗口(包括更多shell),殺死當前窗口,查看活動窗口的列表,打開和關閉輸出日志記錄,在窗口之間復制文本,查看滾動歷史,在窗口之間切換,等等。所有窗口運行的程序完全相互獨立。當程序的窗口當前不可見時,甚至當整個屏幕會話與用戶終端分離時,程序仍會繼續運行。
2. 安裝
yum install -y screen
3. 語法
screen [-AmRvx -ls -wipe][-d <作業名稱>][-h <行數>][-r <作業名稱>][-s <shell>][-S <作業名稱>]
參數說明:
- -A 將所有的視窗都調整為目前終端機的大小。
- -d<作業名稱> 將指定的screen作業離線。
- -h<行數> 指定視窗的緩沖區行數。
- -m 即使目前已在作業中的screen作業,仍強制建立新的screen作業。
- -r<作業名稱> 恢復離線的screen作業。
- -R 先試圖恢復離線的作業。若找不到離線的作業,即建立新的screen作業。
- -s<shell> 指定建立新視窗時,所要執行的shell。
- -S<作業名稱> 指定screen作業的名稱。
- -v 顯示版本信息。
- -x 恢復之前離線的screen作業。
- -ls或--list 顯示目前所有的screen作業。
- -wipe 檢查目前所有的screen作業,並刪除已經無法使用的screen作業。
4. 常用命令
創建新窗口
screen -S <窗口名字>
查看創建的窗口
screen -ls
分離窗口
Ctr + a + d
恢復窗口
screen -r <窗口名字>
kill窗口
Ctr + a + k or exit
5. 完整快捷鍵
- Ctr+a+? 顯示所有鍵綁定信息
- Ctr+a+c 創建一個新的運行shell的窗口並切換到該窗口
- Ctr+a+n Next,切換到下一個 window
- Ctr+a+p Previous,切換到前一個 window
- Ctr+a+0..9 切換到第 0..9 個 window
- Ctrl+a+[Space] 由視窗0循序切換到視窗9
- Ctr+a+Ctr+a 在兩個最近使用的 window 間切換
- Ctr+a+x 鎖住當前的 window,需用用戶密碼解鎖
- Ctr+a+d detach,暫時離開當前session,將目前的 screen session (可能含有多個 windows) 丟到后台執行,並會回到還沒進 screen 時的狀態,此時在 screen session 里,每個 window 內運行的process (無論是前台/后台)都在繼續執行,即使 logout 也不影響。
- Ctr+a+z 把當前session放到后台執行,用 shell 的 fg 命令則可回去。
- Ctr+a+w 顯示所有窗口列表
- Ctr+a+t Time,顯示當前時間,和系統的 load
- Ctr+a+k kill window,強行關閉當前的 window Ctr+a+[ 進入 copy mode,在 copy mode 下可以回滾、搜索、復制就像用使用 vi 一樣
- Ctr-b Backward,PageUp
- C-trf Forward,PageDown
- H(大寫) High,將光標移至左上角
- L Low,將光標移至左下角
- 0 移到行首
- $ 行末
- w forward one word,以字為單位往前移
- b backward one word,以字為單位往后移
- Space第一次按為標記區起點,第二次按為終點
- Esc 結束 copy mode
- Ctr+a+] Paste,把剛剛在 copy mode 選定的內容貼上