管理Linux终端的screen命令示例
screen是一個全屏幕軟件程序,他可以用于在若干進程(一般交換的shells)之間復用一個物理console。它提供給用戶在單個終端窗口管理器中打開若干單獨的終端實例。
如果你從一個命令行接口處理多個程序以及對于從終端shell分開程序,screen非常有用。它也允許你與其他用戶共享你的會話以及分離/連接終端會話。
首先安裝screen:
[root@areadetector blctrl]# dnf install screen -y Last metadata expiration check: 0:07:31 ago on Wed 29 Jun 2022 09:30:22 AM CST. Dependencies resolved. ===================================================================================================================================================Package Architecture Version Repository Size =================================================================================================================================================== Installing:screen x86_64 4.6.2-12.el8 epel 581 k ...Installed:screen-4.6.2-12.el8.x86_64Complete! [root@areadetector blctrl]#實際上,screen是一個在Linux中非常好的終端復用程序。
用以下示例展示在Linux中screen命令的用法:
首次啟動screen
在命令提示中只要輸入screen。接著screen將顯示一個與命令提示完全相同的接口。
[root@areadetector blctrl]#顯示screen參數
當你輸入screen時,你能夠做所有如你在正常命令行環境中的工作。但由于screen是一個應用程序,所以它有命令或者參數。
輸入不帶引號的"ctrl-A"和"?"。則你將在這個screen上的所有命令或參數。
?要推出scren的幫助,你可以輸入"空格"按鈕或者"回車"。
用screen分離終端會話
screen的其中一個優勢是你可以分離它。接著,你能夠恢復它而不會丟失你已經在這個screen上做的任何事情。這是一個簡單的場景:
你SSH登錄到你的服務器中。我們說你正在使用curl命令下載OpenJDK16。
下載過程估計需要花費2小時時長。如果你斷開SSH會話或者連接意外丟失,則下載過程將停止。你必須再次從頭開始。為了避免那樣,我們可以使用一個screen并且分離它。
看一下這個命令。首先,你必須輸入screen。
[root@localhost dbuser]#接著你可以進行下載過程。例如在AmaLinux上,使用curl命令。下載輸出如下:
?當下載正在進行時,你可以輸入"ctrl+A"和"d"。當你按下那些鍵時,你將看不到任何東西。輸出像這樣:
[detached from 51614.pts-1.localhost] [root@localhost dbuser]#用screen重新連接終端會話
在你分離這個screen后,我們就說你能夠斷開你的SSH會話并且回家。在你家里,你再次啟動SSH到你的服務器并且你想要看一下你下載進程的進度。為了做這件事,你需要恢復這個screen。你可以運行這條命令:
[root@localhost dbuser]# screen -r并且你將看到你留下的下載過程已經運行結束了。
[root@localhost dbuser]# curl -O https://download.java.net/java/GA/jdk16.0.2/d4a915d82b4c4fbb9bde534da945d746/7/GPL/openjdk-16.0.2_linux-x64_bin.tar.gz% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed 100 175M 100 175M 0 0 13.8M 0 0:00:12 0:00:12 --:--:-- 11.4M當你有多個screen會話,你需要輸入screen會話ID。使用screen -ls看到多少個screens是可用的。
[root@localhost dbuser]# screen -ls There is a screen on:51614.pts-1.localhost (Detached) 1 Socket in /run/screen/S-root.如果你要恢復screen 61614.pts-1.localhost,你輸入這條命令:
[root@localhost dbuser]# screen -r 51614使用多個screen終端窗口
當你需要多個screen來進行你的工作時,可能嗎?可能的。你可以同時運行多個screen窗口。做這件事有兩種方式。
第一種,你可以在真實終端中分離第一個screen并且允許另一個screen。?第二種方式,你進行嵌套screen。
在Screen終端窗口之間切換
當你做了嵌套screen,你可以使用"Ctr+A"和"n"在screen之間切換。它將移動到下個screen。當你需要回退到前一個screen,只要按"Ctrl+A"和"p"。
要創建一個新screen窗口,只要按"Ctrl+A"和"c"。
在Linux中使能Screen登錄
有時記錄下你在console中時所作事情是重要的。假設你是一個管理很多Linux服務器的Linux管理員。
用screen登錄,你不需要幾下你已經做的每個單條命令。要激活screen日志功能,只要按"ctrl-A"和"H"。(請小心,我們使用大寫'H'字母。使用小寫'h',將只在另一個名為hardcopy文件中創建這個screen的一個截屏)。
在這個screen的左下角,將有一個像這樣告訴你的通知: Create logfile "screenlog.0"。你將在你的家目錄中發現screenlog.0文件。
這種特性將在末尾添加你在這個screen窗體中時做的所有事情。要關閉screen激活運行日志,再次按"ctrl-A"和"H"。
激活日志特性的另一種方式是,你在首次運行screen時添加參數"-L"。命令像這樣:
[root@localhost dbuser]# screen -L鎖定Linux終端screen
screen也有鎖屏的快捷方式。你可以按"ctrl+A"和"x"快捷方式來鎖屏。如果你想要快速鎖屏,這是方便的。這是在你按快捷方式后鎖屏輸出的樣子。
Screen used by root <root> on localhost. Password:你可以使用你的Linux密碼來解鎖它。
離開screen終端會話
有兩種方式離開screen。第一種使用"Ctrl+A"和"d"分離這個screen。第二種,我們可以使用exit命令終結這個screen。我們也可以使用"ctrl+A"和"K"來殺掉這個screen。
總結
以上是生活随笔為你收集整理的管理Linux终端的screen命令示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Excel VBA选择文件、高容错性地打
- 下一篇: 如何选择适合你的兴趣爱好(二十五),麻将