溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux?screen命令如何使用

發(fā)布時間:2023-03-15 11:00:49 來源:億速云 閱讀:148 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“Linux screen命令如何使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Linux screen命令如何使用”吧!

一、screen命令簡介

Screen是一個全屏窗口管理器,它在多個進程(通常是交互式shell)之間多路傳輸物理終端。每個虛擬終端提供DEC VT100終端的功能,以及ANSI X3的幾個控制功能。64(ISO 6429)和ISO 2022標(biāo)準(zhǔn)(例如,插入/刪除行和支持多個字符集)。每個虛擬終端都有一個回滾歷史緩沖區(qū)和一個復(fù)制粘貼機制,允許用戶在窗口之間移動文本區(qū)域。當(dāng)調(diào)用screen時,它會創(chuàng)建一個包含shell(或指定命令)的窗口,然后避開您的方式,以便您可以正常使用該程序。然后,您可以隨時創(chuàng)建包含其他程序(包括更多shell)的新(全屏)窗口、關(guān)閉當(dāng)前窗口、查看活動窗口列表、打開和關(guān)閉輸出日志、在窗口之間復(fù)制文本、查看滾動歷史記錄、在窗口之間切換,等等。所有窗口都完全獨立運行其程序。當(dāng)窗口當(dāng)前不可見時,甚至當(dāng)整個屏幕會話與用戶終端分離時,程序仍繼續(xù)運行。

二、使用示例

1、安裝screen命令

[root@s145]~# yum install -y screen
Installed:
screen.x86_64 0:4.1.0-0.27.20120314git3c2946.el7_9
Complete!

2、列出當(dāng)前所有的session

[root@s145]~# screen -ls
No Sockets found in /var/run/screen/S-root.

3、創(chuàng)建一個新的窗口

[root@s145]~# screen -S test
…
[root@s145]~# screen -ls
There is a screen on:
2877.test (Attached)
1 Socket in /var/run/screen/S-root.
[root@s145]~#

4、退出當(dāng)前窗口

  可以使用ctrl+a,然后輸入d,退出當(dāng)前窗口,也可以使用screen -d退出當(dāng)前窗口。如果要結(jié)束只窗口使用exit。

Linux?screen命令如何使用

Linux?screen命令如何使用

5、重新連接窗口

  使用screen -r id或者名稱重新連接會話,重新連接會話前要求會話的狀態(tài)為Detached。

Linux?screen命令如何使用

Linux?screen命令如何使用

Linux?screen命令如何使用

6、清除dead狀態(tài)窗口

如果會話窗口被kill,狀態(tài)轉(zhuǎn)為dead無法連接,可以使用screen -wipe命令清除會話窗口。

Linux?screen命令如何使用

7、會話鎖定與解鎖

輸入ctl+a s鎖定會話,鎖定之后輸入任何內(nèi)容屏幕都無反應(yīng),輸入ctl+a q之后解鎖,雖然屏幕鎖定的時候無反應(yīng)但是會接受輸入的命令,解鎖后會全部執(zhí)行,切勿輸入危險命令,所以建議使用ctl+a x鎖定。

Linux?screen命令如何使用

輸入ctl+a x鎖定會話,需要輸入用戶密碼后才可以解鎖。

Linux?screen命令如何使用

8、會話共享

Linux?screen命令如何使用

Linux?screen命令如何使用

9、給screen窗口發(fā)送命令

[root@s145]~# date && screen -S test -X screen ls > /tmp/1.txt
Tue Jan 11 17:12:24 CST 2022
[root@s145]~# screen -S test -X screen sh /root/test.sh

Linux?screen命令如何使用

Linux?screen命令如何使用

10、屏幕分屏

使用快捷鍵分屏正常,但是分屏出來的都無法輸入命令,如果知道的兄弟可以留言告知下原因,求指點,謝謝!

Linux?screen命令如何使用

11、實踐示例

編寫一個持續(xù)輸出的腳本

[root@s145]~# cat test.sh 
#!/bin/bash
\
while true
do
  echo "輸出`date +%F-%T`"
  sleep 10
done

創(chuàng)建一個screen窗口

[root@s145]~# screen -S echotest

執(zhí)行test.sh腳本

Linux?screen命令如何使用

在其他會話使echotest窗口離線

[root@s145]~# screen -d echotest
[3405.echotest detached.]

Linux?screen命令如何使用

重連會話

Linux?screen命令如何使用

三、使用語法及參數(shù)說明

1、使用語法

用法:screen [-opts] [cmd [args]]
或者:screen -r [host.tty]

2、參數(shù)說明

參數(shù)參數(shù)說明
-4僅將主機名解析為IPv4地址。
-6僅將主機名解析為IPv6地址。
-a強制將所有功能放入每個窗口的termcap。
-A-[rr]
-c文件讀取配置文件而不是’。screenrc’。
-d(-r)分離別處運行的屏幕(并在此處重新連接)。
-dmS名稱作為守護進程啟動:分離模式下的屏幕會話。
-D(-r)分離并注銷遠(yuǎn)程(并在此處重新連接)。
-D-RR做任何需要的事情來獲得屏幕會話。
-e xy更改命令字符。
-f流量控制打開,-fn=關(guān)閉,-fa=自動。
-h行設(shè)置回滾歷史緩沖區(qū)的大小。
-i流量控制開啟時,中斷輸出更快。
-l登錄模式打開(更新/var/run/utmp),-ln=off。
-ls[match]什么都不做,只列出我們的SockDir[關(guān)于可能的匹配],同-list
-list什么都不做,只列出我們的SockDir[關(guān)于可能的匹配]。
-L打開輸出日志記錄。
-m忽略$STY變量,創(chuàng)建一個新的屏幕會話。
-O選擇最佳輸出,而不是精確的vt100模擬。
-p windows如果命名窗口存在,則預(yù)選該窗口。
-q安靜啟動。如果不成功,則使用非零返回代碼退出。
-Q命令將向查詢進程的標(biāo)準(zhǔn)輸出發(fā)送響應(yīng)。
-r[session]重新連接到分離的屏幕進程。
-R如果可能,重新連接,否則啟動新會話。
-s shell要執(zhí)行的shell,而不是$shell。
-S sockname將此會話命名為。sockname而不是<主機>。
-t title設(shè)置標(biāo)題。(窗口名稱)。
-T term將術(shù)語用作windows的$term,而不是“屏幕”。
-U告訴屏幕使用UTF-8編碼。
-v打印“屏幕版本4.01.00devel(GNU)2006年5月2日”。
-wipe[match]什么都不做,只需清理SockDir[可能的匹配項]。
-x連接到未分離的屏幕上。(多顯示模式)。
-X在指定會話中作為屏幕命令執(zhí)行。

3、Screen命令中用到的快捷鍵

  • Ctrl+a c :創(chuàng)建窗口

  • Ctrl+a w :窗口列表

  • Ctrl+a n :下一個窗口

  • Ctrl+a p :上一個窗口

  • Ctrl+a 0-9 :在第0個窗口和第9個窗口之間切換

  • Ctrl+a K(大寫) :關(guān)閉當(dāng)前窗口,并且切換到下一個窗口(當(dāng)退出最后一個窗口時,該終端自動終止,并且退回到原始shell狀態(tài))

  • exit :關(guān)閉當(dāng)前窗口,并且切換到下一個窗口(當(dāng)退出最后一個窗口時,該終端自動終止,并且退回到原始shell狀態(tài))

  • Ctrl+a d :退出當(dāng)前終端,返回加載screen前的shell命令狀態(tài)

到此,相信大家對“Linux screen命令如何使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI