Linux終端命令之screen
阿新 • • 發佈:2022-05-10
screen的功能
screen的功能大體有三個:
- 會話恢復:只要Screen本身沒有終止,在其內部執行的會話都可以恢復。這一點對於遠端登入的使用者特別有用——即使網路連線中斷,使用者也不會失去對已經開啟的命令列會話的控制。只要再次登入到主機上執行screen -r就可以恢復會話的執行。同樣在暫時離開的時候,也可以執行分離命令detach,在保證裡面的程式正常執行的情況下讓Screen掛起(切換到後臺)。這一點和圖形介面下的VNC很相似。
- 多視窗:在Screen環境下,所有的會話都獨立的執行,並擁有各自的編號、輸入、輸出和視窗快取。使用者可以通過快捷鍵在不同的視窗下切換,並可以自由的重定向各個視窗的輸入和輸出。
- 會話共享:Screen可以讓一個或多個使用者從不同終端多次登入一個會話,並共享會話的所有特性(比如可以看到完全相同的輸出)。它同時提供了視窗訪問許可權的機制,可以對視窗進行密碼保護。
這三個功能,其實互相交織,組成screen功能繁多的命令集。
安裝screen
因為screen是“元老級”的GNU計劃專案,所以不管是apt軟體源、或者是yum軟體源等其他軟體源,都存在screen,只需要使用軟體源安裝命令即可:
# CentOS yum install screen # Debian/Ubuntu apt install screen
之後,即可使用screen命令:
# 檢視版本 screen-v
注意:
- 命令區分大小寫
狀態介紹
通常情況下,screen建立的虛擬終端,有兩個工作模式:
- Attached:表示當前screen正在作為主終端使用,為活躍狀態。
- Detached:表示當前screen正在後臺使用,為非激發狀態。
通常情況下,不需要關注上面的狀態。
基礎命令
這裡列舉一些我認為常用的screen命令,使用以下命令基本滿足日常使用。
常用命令:
#查詢screen提示 screen -help # 檢視終端列表 screen -ls # 新建終端, 一個叫hello的終端 screen -S hello 或者 screen -R hello 使用-R建立,如果之前有建立唯一一個同名的screen,則直接進入之前建立的screen 使用-S建立和直接輸入screen建立的虛擬終端,不會檢錄之前建立的screen(也就是會建立同名的screen) # 退出終端 ctrl + a, 再按d,即可保持這個screen到後臺並返回主終端 # 回到終端, screen -r [pid/name] screen -r/-R hello # 清除終端 進入虛擬終端中, 鍵入 exit # 在主終端中釋放虛擬終端 screen -R hello -X quit # 在虛擬終端中,操作 ## k: 關閉對話, 等同於 exit c: 新建一個虛擬終端 ?: 顯示所有繫結的鍵盤
參考文件: Linux終端命令神器--Screen命令詳解。助力Linux使用和管理 - 雲+社群 - 騰訊雲 (tencent.com)