1. 程式人生 > 其它 >Linux終端命令之screen

Linux終端命令之screen

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)