如何使用linux的screen命令

使用Linux screen命令,您可以將正在執行的終端應用程式推到後臺,並在希望看到它們時將它們向前拉。它還支援分屏顯示,並透過SSH連線工作,即使在斷開和重新連線之後也是如此!...

使用Linux screen命令,您可以將正在執行的終端應用程式推到後臺,並在希望看到它們時將它們向前拉。它還支援分屏顯示,並透過SSH連線工作,即使在斷開和重新連線之後也是如此!

什麼是螢幕命令(the screen command)?

screen命令是一個終端多路複用器,它包含了很多選項。說它能做很多事情是輕描淡寫的。手冊頁長達4100多行。

以下是使用screen命令的最常見情況,我們將在本文中進一步介紹這些情況:

  • 標準操作是建立一個包含shell的新視窗,執行命令,然後將視窗推到後臺(稱為“分離”)。當你想看到你的程序是如何進行的,你可以把視窗拉到前臺(“重新連線”)並再次使用它。這對於您不希望透過關閉終端視窗意外終止的長程序來說非常有用。
  • 一旦運行了螢幕會話,就可以建立新視窗並在其中執行其他程序。您可以輕鬆地在視窗之間切換以監視其進度。您還可以將終端視窗拆分為垂直或水平區域,並在一個視窗中顯示各種螢幕視窗。
  • 您可以連線到遠端計算機、啟動螢幕會話和啟動程序。您可以斷開與遠端主機的連線,重新連線,然後程序仍將執行。
  • 您可以在兩個不同的SSH連線之間共享一個螢幕會話,這樣兩個人就可以實時看到相同的內容。

安裝螢幕

要在ubuntu上安裝screen,請使用以下命令:

sudo apt-get install screen

如何使用linux的screen命令

要在Manjaro上安裝screen,請使用以下命令:

sudo pacman -Sy screen

如何使用linux的screen命令

在Fedora上,鍵入以下內容:

sudo dnf install screen

如何使用linux的screen命令

螢幕入門

要啟動螢幕,只需按如下所示鍵入並按Enter鍵:

screen

如何使用linux的screen命令

您將看到一頁許可證資訊。可以按空格鍵讀取第二頁,也可以按Enter鍵返回命令提示。

如何使用linux的screen命令

你被留在命令提示符下,似乎什麼也沒發生。但是,您現在正在多路複用終端模擬器中執行shell。為什麼這是件好事?好吧,讓我們開始一個需要很長時間才能完成的過程。我們將下載最新Linux核心的原始碼,並將其重定向到名為latest的檔案中_核心.zip.

為此,我們鍵入以下內容:

curl https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.9.tar.xz > latest_kernel.zip

如何使用linux的screen命令

我們的下載開始了,curl輸出向我們展示了這個過程。

如何使用linux的screen命令

我們無法顯示下一位的影象,因為這是一個擊鍵序列。鍵入Ctrl+A,釋放這些鍵,然後按d分離螢幕。

下載程序仍在執行,但顯示下載的視窗已刪除。您將返回到啟動螢幕會話的終端視窗。一條訊息告訴您,一個標記為23167.pts-0.howtogeek的螢幕視窗已被分離。

您需要從視窗名稱開始的數字來重新附加它。如果您忘記了它,則始終可以使用-ls(list)選項(如下所示)來獲取分離視窗的列表:

screen -ls

如何使用linux的screen命令

準備好後,可以使用-r(重新連線)選項和會話的編號重新連線它,如下所示:

screen -r 23167

如何使用linux的screen命令

一直在後臺工作的視窗現在被帶回終端視窗,就好像它從未離開過一樣。

如何使用linux的screen命令

如果這是一個過程,將貫穿到它的結論,它最終將完成。如果這是一個持續的過程,你最終會想要終止它。無論哪種方式,當程序結束時,您都可以鍵入exit退出螢幕。或者,可以按Ctrl+A,然後按K強制關閉視窗。

鍵入以下命令:

exit

如何使用linux的screen命令

您將返回到以前的終端視窗,該視窗仍將顯示用於重新附加視窗的命令。因為我們關閉了我們唯一分離的視窗,我們得到一個訊息,螢幕正在終止。

如何使用linux的screen命令

相關:如何使用curl從Linux命令列下載檔案

使用命名螢幕會話

您可以使用-S(會話名稱)選項來命名螢幕會話。如果您使用一個值得記憶的名稱而不是會話的數字標識,那麼重新連線到會話會更方便。我們鍵入以下內容將會話命名為“bigfile”:

screen -S bigfile

如何使用linux的screen命令

當螢幕啟動會話時,我們看到一個空白視窗,其中包含命令提示。我們將下載一個大檔案,因此我們可以使用一個長期執行的過程作為示例。

我們鍵入以下內容:

curl http://ipv4.download.thinkbroadband.com/1GB.zip > bigfile.zip

如何使用linux的screen命令

下載開始時,我們按Ctrl+A,然後按D分離會話。我們鍵入以下命令以使用-ls(list)選項和screen來檢視分離會話的詳細資訊:

screen -ls

如何使用linux的screen命令

在數字識別符號(23266)後面,我們可以看到會話的名稱(bigfile)。我們鍵入以下內容(包括會話名稱)以重新附加它:

screen -r bigfile

如何使用linux的screen命令

我們重新連線到下載視窗,看到長時間的下載仍在進行中。

如何使用linux的screen命令

下載完成後,我們鍵入exit關閉會話視窗。

使用多視窗螢幕

到目前為止,我們已經使用螢幕將一個程序放在一個獨立的視窗中的背景中。然而,螢幕能夠做的遠遠不止這些。接下來,我們將執行一些程序,這些程序允許我們監視計算機的某些方面。

我們鍵入以下命令以啟動名為“監視器”的螢幕會話:

screen -S monitor

如何使用linux的screen命令

在新視窗會話的命令提示符下,我們將啟動dmesg並使用-H(人類可讀)和-w(等待新訊息)選項。這將顯示核心緩衝區訊息;新訊息出現時將出現。

我們鍵入以下內容:

dmesg -H -w

如何使用linux的screen命令

將顯示現有訊息。我們沒有返回到命令提示符,因為dmseg正在等待新訊息,並將在訊息到達時顯示它們。

如何使用linux的screen命令

相關:如何在Linux上使用dmesg命令

我們想執行另一個應用程式,所以我們需要一個新的螢幕視窗。我們按Ctrl+A,然後按C來建立一個新視窗。我們將使用watch來反覆執行vmstat,因此我們可以得到計算機上虛擬記憶體使用情況的頻繁更新顯示。

在新命令提示符下,鍵入以下命令:

watch vmstat

如何使用linux的screen命令

vmstat輸出將顯示並每兩秒鐘更新一次。

如何使用linux的screen命令

我們的兩個程序正在執行。要在螢幕視窗之間跳,請按Ctrl+A和視窗的數量。我們建立的第一個是視窗0(0),下一個是視窗1,依此類推。要跳到第一個視窗(dmesg視窗),我們按Ctrl+A和0。

如何使用linux的screen命令

如果我們按Ctrl+A和1,它會將我們帶回vmstat視窗。

如何使用linux的screen命令

真漂亮!我們可以按Ctrl+A,然後按D從會話中分離;稍後可以重新連線。兩個會話仍將執行。同樣,要在視窗之間切換,請按Ctrl+A和要切換到的視窗的編號(0或1)。

讓我們進入下一步,在一個視窗中檢視兩個螢幕。當您這樣做時,您將把終端視窗拉伸到一個使此步驟有用的大小。我們的例子受限於螢幕截圖的大小,所以我們的視窗看起來有點狹窄。

為此,我們按Ctrl+A,然後按Shift+S(需要大寫“S”)。

視窗分成兩個“區域”

如何使用linux的screen命令

頂部區域仍然顯示vmstat,底部區域為空。游標在下面的螢幕截圖中高亮顯示。要將其移動到較低的區域,請按Ctrl+A,然後按Tab。

如何使用linux的screen命令

游標移到較低的區域,實際上這只是一個空白。它不是一個shell,所以我們不能在其中鍵入任何內容。為了得到一個有用的顯示,我們按Ctrl+a,然後按“0”在這個區域顯示dmesg視窗。

如何使用linux的screen命令

這將在一個分割視窗中提供兩個實時輸出。如果按Ctrl+A和D來分離視窗,然後重新連線它,則會丟失“拆分窗格”檢視。但是,我們可以使用以下鍵盤快捷鍵還原它:

  • Ctrl+A,S:水平拆分視窗。
  • Ctrl+A,Tab:移動到較低的區域。
  • Ctrl+A,0:在下方區域顯示視窗0。

我們可以更進一步。現在我們將垂直拆分下窗格,並向顯示中新增第三個程序。當游標位於下方區域時,我們按Ctrl+A和C來建立一個包含shell的新視窗。下面的區域顯示新視窗並給出命令提示。

如何使用linux的screen命令

接下來,我們執行df命令來檢查檔案系統的使用情況:

df

如何使用linux的screen命令

當我們看到df執行時,我們點選Ctrl+A和管道字元(|)。這將垂直分割較低的區域。我們按Ctrl+A和Tab移動到新區域。接下來,按Ctrl+A和0顯示dmesg視窗。

如何使用linux的screen命令

您也可以從區域移動到區域,並新增更多垂直或水平拆分。以下是一些更有用的鍵組合:

  • Ctrl+A:在當前區域和以前區域之間來回跳。
  • Ctrl+A,Q:關閉除當前區域之外的所有區域。
  • Ctrl+A,X:關閉當前區域。

透過ssh使用screen

使用screen,您可以啟動一個視窗會話,將其分離,使其仍在後臺執行,登出或重新登入,然後重新連線會話。

讓我們用SSH命令從另一臺計算機建立一個SSH連線。我們必須提供要連線的帳戶的名稱和遠端計算機的地址。

在我們的示例中,我們鍵入以下內容:

ssh [email protected]

如何使用linux的screen命令

在遠端計算機上進行身份驗證並登入後,我們鍵入以下命令以啟動名為“ssh geek”的螢幕會話:

screen -S ssh-geek

如何使用linux的screen命令

出於演示目的,我們將在螢幕視窗中執行top,但您可以啟動任何長時間執行或無休止的程序。

我們鍵入以下內容:

top

如何使用linux的screen命令

一旦top在視窗中執行,我們按Ctrl+A,然後按D來分離視窗。

如何使用linux的screen命令

我們回到原來的遠端終端視窗。

如何使用linux的screen命令

如果我們鍵入exit,如下所示,它將斷開SSH會話,然後我們回到本地計算機上:

exit

如何使用linux的screen命令

我們鍵入以下內容以重新連線:

ssh [email protected]

如何使用linux的screen命令

重新連線並登入後,可以鍵入以下內容重新連線螢幕會話:

screen -r ssh-geek

如何使用linux的screen命令

我們現在重新連線到仍在執行的top例項。

如何使用linux的screen命令

如果你想在一臺機器上啟動一個過程,然後在你離開另一臺機器的地方,這是非常好的。

相關:如何從Linux Shell建立和安裝SSH金鑰

共享螢幕會話

您還可以使用螢幕會話來允許兩個人檢視同一個視窗並與之互動。假設有人在他的電腦上執行Fedora想要連線到我們的Ubuntu伺服器。

他會鍵入以下內容:

ssh [email protected]

如何使用linux的screen命令

連線之後,他使用-s(會話名稱)選項啟動一個名為“ssh geek”的螢幕會話。他還使用-d(分離)和-m(強制建立)選項來建立已經分離的新螢幕會話。

他鍵入以下內容:

screen -d -m -S ssh-geek

如何使用linux的screen命令

他使用-X(多螢幕模式)選項連線會話,鍵入以下內容:

screen -X ssh-geek

如何使用linux的screen命令

在Manjaro計算機上,另一個人使用相同的帳戶憑據連線到Ubuntu計算機,如下所示:

ssh [email protected]

如何使用linux的screen命令

連線後,她鍵入screen命令並使用-X(多螢幕模式)選項加入同一個視窗會話,如下所示:

screen -X ssh-geek

如何使用linux的screen命令

現在,任何一個人鍵入的內容,另一個人都會看到。例如,當一個人發出date命令時,他們都會看到它的輸入和輸出。

如何使用linux的screen命令

如何使用linux的screen命令

兩人現在共享一個執行在遠端Ubuntu計算機上的螢幕會話。


對於一款1987年第一次見到曙光的軟體來說,screen仍然具有很好的生產力衝擊力。熟悉它將是一段值得花費的時間!

相關:您應該知道的37條重要的Linux命令

  • 發表於 2021-04-02 11:06
  • 閱讀 ( 50 )
  • 分類:網際網路

你可能感興趣的文章

從命令列關閉linux計算機的5種方法

... 讓我們依次檢視這些命令,並檢查如何以及何時使用這些命令。 ...

  • 發佈於 2021-03-14 17:35
  • 閲讀 ( 45 )

如何在linux上安裝和使用powershell

... 在本文中,我將向您展示如何在Linux上安裝、執行和使用PowerShell! ...

  • 發佈於 2021-03-16 02:34
  • 閲讀 ( 50 )

如何在windows10上獲得linux bash shell

... 如何在windows10上安裝linux bash shell ...

  • 發佈於 2021-03-21 11:48
  • 閲讀 ( 58 )

linux下如何重新命名檔案

要在Linux中重新命名檔案嗎?如果您知道如何在Windows、macOS或Chrome作業系統中完成這項工作,那麼您就知道如何在這裡完成這項工作。在大多數版本的Linux上,您只需右鍵單擊一個檔案並選擇Rename選項。 ...

  • 發佈於 2021-03-22 02:48
  • 閲讀 ( 63 )

如何在linux中新增使用者

想在Linux系統上新增使用者但不知道如何新增?在Linux上使用命令列介面管理使用者無疑是一項複雜的工作。而對於初學者來說,即使新增新使用者也是一場噩夢。 ...

  • 發佈於 2021-03-26 23:29
  • 閲讀 ( 64 )

如何在linux上使用tmux(以及為什麼它比screen更好)

...。 這一次,我們將專注於tmux。接下來,我們將介紹screen如何處理相同的特性或功能。 關於螢幕,只有一件事讓我們惱火。我們到了以後再談,看看tmux是否更好。 相關:如何使用Linux的screen命令 安裝tmux 雖然screen通常在流行的Li...

  • 發佈於 2021-04-02 05:16
  • 閲讀 ( 37 )

如何使用linux的screen命令

...視窗推到後臺(稱為“分離”)。當你想看到你的程序是如何進行的,你可以把視窗拉到前臺(“重新連線”)並再次使用它。這對於您不希望透過關閉終端視窗意外終止的長程序來說非常有用。 一旦運行了螢幕會話,就可以...

  • 發佈於 2021-04-02 11:06
  • 閲讀 ( 50 )

如何檢查linux上安裝了哪個gpu

需要識別Linux計算機中的圖形處理單元(GPU)嗎?下面是如何從命令列和GNOME中識別圖形卡。 第一步 你可能去過那裡。你被徵召來為一個非技術性的親戚或同事提供支援,有些事情告訴你這不是無痛的。不過,你還是加入了!...

  • 發佈於 2021-04-02 16:40
  • 閲讀 ( 53 )

如何使用linux type命令

...ell函式、內建命令或保留字。使用type可以發現Linux命令是如何執行的,並更好地理解系統。 照我的吩咐做 當我們開啟一個終端視窗並開始向我們的Linux計算機發出命令時,我們很少停下來思考作業系統中的哪些軟體元件正在對...

  • 發佈於 2021-04-03 10:23
  • 閲讀 ( 50 )

windows10的新bashshell所能做的一切

...些指南匯總到一個大列表中。 windows上linux入門 相關:如何在windows10上安裝和使用Linux Bash Shell 您可以在任何版本的windows10(包括windows10home)上安裝Linux環境和bashshell。但是,它確實需要64位版本的Windows10。您只需啟用Windows Subs...

  • 發佈於 2021-04-06 14:44
  • 閲讀 ( 54 )
蘇大憨
蘇大憨

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦