0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux的screen命令應(yīng)該如何使用技巧詳細(xì)說(shuō)明

Wildesbeast ? 來(lái)源:今日頭條 ? 作者:程序員BUG ? 2020-01-20 11:35 ? 次閱讀

您是否遇到過(guò)在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行長(zhǎng)時(shí)間運(yùn)行任務(wù)的情況,然后連接突然斷開(kāi),SSH 會(huì)話終止了并且丟失正在進(jìn)行的工作呢。幸運(yùn)的是,有一個(gè)實(shí)用程序叫做 screen 允許我們恢復(fù)我們的會(huì)話。

介紹

screen 或 GNU screen 是終端多路復(fù)用器。換句話說(shuō),這意味著您可以啟動(dòng) screen 會(huì)話,然后在該會(huì)話中打開(kāi)任意數(shù)量的窗口(虛擬終端)。即使斷開(kāi)連接,當(dāng)其窗口不可見(jiàn)時(shí),在 screen 上運(yùn)行的進(jìn)程將繼續(xù)運(yùn)行。

安裝 Linux screen

現(xiàn)在大多數(shù) Linux 發(fā)行版上已經(jīng)預(yù)裝了 screen 包。您可以通過(guò)鍵入以下內(nèi)容來(lái)檢查系統(tǒng)上是否安裝了它:

linuxidc@linuxidc:~/www.linuxidc.com$ screen --version

Screen version 4.06.02 (GNU) 23-Oct-17

如果您的系統(tǒng)上沒(méi)有安裝 screen ,則可以使用發(fā)行版的軟件包管理器輕松安裝。

在 Ubuntu 和 Debian 上安裝 screen

linuxidc@linuxidc:~/www.linuxidc.com$ sudo apt install screen

在 CentOS 和 Fedora 上安裝 screen

linuxidc@linuxidc:~/www.linuxidc.com$ sudo yum install screen

啟動(dòng) Linux screen

要啟動(dòng) screen 會(huì)話,只需在控制臺(tái)鍵入 screen :

screen

這將打開(kāi)一個(gè) screen 會(huì)話,創(chuàng)建一個(gè)新窗口并在該窗口中啟動(dòng)一個(gè) shell 。

現(xiàn)在您已經(jīng)打開(kāi)了一個(gè) screen 會(huì)話,您可以通過(guò)輸入以下命令獲取命令列表:

Ctrl+a ?

命名會(huì)話

運(yùn)行多個(gè) screen 會(huì)話時(shí),命名會(huì)話非常有用。要?jiǎng)?chuàng)建命名會(huì)話,請(qǐng)使用以下參數(shù)運(yùn)行 screen 命令:

screen -S session_name

選擇描述性有意義的會(huì)話名稱(chēng)總是一個(gè)好主意。

使用 Linux Screen 窗口

默認(rèn)情況下,當(dāng)您啟動(dòng)新的 screen 會(huì)話時(shí),它會(huì)創(chuàng)建一個(gè)包含 shell 的單個(gè)窗口。

您可以在 screen 會(huì)話中擁有多個(gè)窗口。

要?jiǎng)?chuàng)建一個(gè)有 shell 的新窗口請(qǐng)鍵入 Ctrl+a c ,將為其分配范圍 0.。.9 中的第一個(gè)可用編號(hào)。

以下是一些用于管理 Linux Screen 窗口 的最常用命令:

Ctrl+a c 創(chuàng)建一個(gè)新窗口(帶shell)

Ctrl+a “ 列出所有窗口

Ctrl+a 0 切換到窗口 0(按編號(hào))

Ctrl+a A 重命名當(dāng)前窗口

Ctrl+a S 將當(dāng)前區(qū)域水平分割為兩個(gè)區(qū)域

Ctrl+a | 將當(dāng)前區(qū)域垂直分成兩個(gè)區(qū)域

Ctrl+a tab 將輸入焦點(diǎn)切換到下一個(gè)區(qū)域

Ctrl+a Ctrl+a 在當(dāng)前和之前的區(qū)域之間切換

Ctrl+a Q 關(guān)閉除當(dāng)前區(qū)域之外其他所有區(qū)域

Ctrl+a X 關(guān)閉當(dāng)前區(qū)域

從 Linux screen 會(huì)話中分離出來(lái)

您可以通過(guò)鍵入以下內(nèi)容隨時(shí)從 screen 會(huì)話中分離:

Ctrl+a d

從會(huì)話中分離后,在 screen 會(huì)話中運(yùn)行的程序?qū)⒗^續(xù)運(yùn)行。

重新連接到 Linux screen

要恢復(fù) screen 會(huì)話,請(qǐng)使用以下命令:

screen -r

如果您的計(jì)算機(jī)上運(yùn)行了多個(gè) screen 會(huì)話,則需要在 r 后附加 screen 會(huì)話 ID 。

要查找 screen 會(huì)話 ID,可以使用如下命令列出當(dāng)前運(yùn)行的列表:

linuxidc@linuxidc:~/www.linuxidc.com$ screen -ls

There are screens on:

15174.session_name (08/13/2019 09:19:34 PM) (Attached)

12475.pts-0.linuxidc (08/13/2019 09:16:31 PM) (Attached)

12230.pts-0.linuxidc (08/13/2019 09:15:42 PM) (Detached)

3 Sockets in /run/screen/S-linuxidc.

如果要還原 12475.pts-0 ,請(qǐng)鍵入以下命令:

linuxidc@linuxidc:~/www.linuxidc.com$ screen -r 12475

There is a screen on:

12475.pts-0.linuxidc (08/13/2019 09:16:32 PM) (Attached)

There is no screen to be resumed matching 12475.

自定義 Linux screen

如果 /etc/screenrc 和 ~/.screenrc 文件存在,當(dāng) screen 啟動(dòng)時(shí)從中讀取它的配置參數(shù)。我們可以通過(guò) .screenrc 文件根據(jù)我們自己的偏好修改默認(rèn) screen 設(shè)置。

以下是一個(gè)示例 ~/.screenrc配置, 有自定義狀態(tài)行和幾個(gè)附加選項(xiàng):

?/.screenrc

#關(guān)閉歡迎信息startup_messageoff#禁用視覺(jué)鈴聲vbelloff#將回滾緩沖區(qū)設(shè)置為10000defscrollback10000#自定義狀態(tài)行hardstatusalwayslastlinehardstatusstring‘%{=kG}[%{G}%H%{g}][%=%{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%=%{g}][%{B}%m-%d%{W}%c%{g}]’

基本的 Linux screen 用法

以下是開(kāi)始使用 screen 的最基本步驟:

在命令提示符下,鍵入 screen 。

運(yùn)行所需的程序。

使用鍵序列 Ctrl-a + Ctrl-d 從 screen 會(huì)話中分離。

鍵入即可重新連接到 screen 會(huì)話 screen -r 。

結(jié)論

在本教程中,您學(xué)習(xí)了如何使用 Gnu Screen ?,F(xiàn)在,您可以開(kāi)始使用 Screen 實(shí)用程序,從單個(gè)會(huì)話創(chuàng)建多個(gè) screen 窗口,在窗口之間導(dǎo)航,分離和恢復(fù) screen 會(huì)話,并使用 .screenrc 文件個(gè)性化您的 screen 終端。
責(zé)任編輯 LK

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11312

    瀏覽量

    209708
  • Ubuntu
    +關(guān)注

    關(guān)注

    5

    文章

    563

    瀏覽量

    29836
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux grep命令詳解

    Linux grep命令是一種非常常用的文本搜索工具,它可以在給定的文件中搜索匹配的字符串,并輸出匹配的行。grep是全稱(chēng)“global search regular expression print”,可以識(shí)別正則表達(dá)式,并使用正則表達(dá)式進(jìn)行搜索。
    的頭像 發(fā)表于 12-25 09:39 ?112次閱讀

    盤(pán)點(diǎn)Linux系統(tǒng)中的常見(jiàn)命令

    作為運(yùn)維同學(xué)怎能不知道Linux系統(tǒng)中的lsmod、lsof、lspci、lsscsi命令呢,今天就來(lái)盤(pán)一盤(pán)她及實(shí)例。
    的頭像 發(fā)表于 12-03 09:48 ?262次閱讀
    盤(pán)點(diǎn)<b class='flag-5'>Linux</b>系統(tǒng)中的常見(jiàn)<b class='flag-5'>命令</b>

    Linux系統(tǒng)中shell命令解析

    shell是Linux系統(tǒng)的用戶(hù)界面,提供了用戶(hù)與內(nèi)核交互的一種接口,它接收用戶(hù)輸入的命令并到送到內(nèi)核去執(zhí)行,因此也被稱(chēng)為Linux命令解釋器。
    的頭像 發(fā)表于 11-05 15:40 ?278次閱讀

    Linux實(shí)用命令大全

    Linux實(shí)用命令大全
    的頭像 發(fā)表于 10-23 13:50 ?242次閱讀
    <b class='flag-5'>Linux</b>實(shí)用<b class='flag-5'>命令</b>大全

    Linux lsof命令的基本用法

    linux 系統(tǒng)中,一切皆文件。通過(guò)文件不僅僅可以訪問(wèn)常規(guī)數(shù)據(jù),還可以訪問(wèn)網(wǎng)絡(luò)連接和硬件。所以 lsof 命令不僅可以查看進(jìn)程打開(kāi)的文件、目錄,還可以查看進(jìn)程監(jiān)聽(tīng)的端口等 socket 相關(guān)的信息。本文將介紹 lsof 命令
    的頭像 發(fā)表于 10-23 11:52 ?294次閱讀
    <b class='flag-5'>Linux</b> lsof<b class='flag-5'>命令</b>的基本用法

    CC256x與HCI命令應(yīng)用說(shuō)明

    電子發(fā)燒友網(wǎng)站提供《CC256x與HCI命令應(yīng)用說(shuō)明.pdf》資料免費(fèi)下載
    發(fā)表于 09-11 09:37 ?0次下載
    CC256x與HCI<b class='flag-5'>命令</b>應(yīng)用<b class='flag-5'>說(shuō)明</b>

    Linux中cut命令的實(shí)用示例

    Linux command cut 用于文本處理。您可以使用此命令通過(guò)選擇列從文件中提取部分文本。
    的頭像 發(fā)表于 08-05 15:14 ?326次閱讀

    網(wǎng)線接線標(biāo)準(zhǔn)詳細(xì)說(shuō)明

    在網(wǎng)絡(luò)通信中,網(wǎng)線接線標(biāo)準(zhǔn)至關(guān)重要,它確保了網(wǎng)絡(luò)設(shè)備的正確連接和高效通信。以下是關(guān)于網(wǎng)線接線標(biāo)準(zhǔn)的詳細(xì)說(shuō)明: 一、線序標(biāo)準(zhǔn) 網(wǎng)線的線序標(biāo)準(zhǔn)主要有兩種,即EIA/TIA的568A和568B標(biāo)準(zhǔn)。 標(biāo)準(zhǔn)
    的頭像 發(fā)表于 05-15 10:34 ?3206次閱讀

    Linux的col命令介紹

    RLF)后輸出到標(biāo)準(zhǔn)輸出。還可以將空白符用等價(jià)制表符(Tab)或空格(Space)來(lái)替換。 在許多 Linux 說(shuō)明文件里,包含控制字符。當(dāng)我們運(yùn)用 Shell 特殊字符 > 和 &
    發(fā)表于 04-08 06:34

    util-linux修復(fù)WallEscape漏洞,影響Linux系統(tǒng)wall命令使用

    WallEscape 主要影響“wall”命令操作,Linux 系統(tǒng)中的常規(guī)下,該指令被用作向系統(tǒng)所有登錄用戶(hù)的終端發(fā)布消息。然而在處理命令行參數(shù)輸入時(shí),過(guò)濾器未正確識(shí)別和過(guò)濾轉(zhuǎn)義序列
    的頭像 發(fā)表于 03-29 14:35 ?992次閱讀

    3KW工業(yè)變頻器電路設(shè)計(jì)方案詳細(xì)說(shuō)明

    3KW工業(yè)變頻器電路設(shè)計(jì)方案詳細(xì)說(shuō)明
    的頭像 發(fā)表于 03-19 08:33 ?957次閱讀
    3KW工業(yè)變頻器電路設(shè)計(jì)方案<b class='flag-5'>詳細(xì)說(shuō)明</b>

    linux命令概述

    電子發(fā)燒友網(wǎng)站提供《linux命令概述.pdf》資料免費(fèi)下載
    發(fā)表于 03-11 09:18 ?3次下載

    Linux MMC子系統(tǒng)-eMMC常用命令說(shuō)明(1)

    本文對(duì)eMMC 5.1協(xié)議定義的命令做一個(gè)簡(jiǎn)單的說(shuō)明,以便在使用具體的命令時(shí)有個(gè)參考。
    的頭像 發(fā)表于 01-18 13:46 ?2994次閱讀
    <b class='flag-5'>Linux</b> MMC子系統(tǒng)-eMMC常用<b class='flag-5'>命令</b><b class='flag-5'>說(shuō)明</b>(1)

    Linux上如何通過(guò)命令行來(lái)更改日期和時(shí)間?

    Linux上如何通過(guò)命令行來(lái)更改日期和時(shí)間? 在Linux上,我們可以使用命令行工具來(lái)更改日期和時(shí)間。操作系統(tǒng)中有一個(gè)專(zhuān)門(mén)的命令被稱(chēng)為“d
    的頭像 發(fā)表于 01-16 17:10 ?2860次閱讀

    Linux基本命令總結(jié)

    都說(shuō)Linux命令多,實(shí)際工作中我們又有多少命令會(huì)接觸用到呢?本文跟大家分享Linux運(yùn)維工作中常用的600個(gè)命令,可以說(shuō)這些
    的頭像 發(fā)表于 01-11 10:32 ?979次閱讀