好用的終端工具 Screen

2022-06-06 16:21:13 字數 3680 閱讀 8008

screen 是一款由 gnu 開發的命令列終端工具,它提供了從多個終端視窗連線到同乙個 shell 會話(會話共享)。當網路中斷,或終端視窗意外關閉是,中 screen 中執行的程式任然可以執行(系統自帶的終端視窗,當視窗意外關閉時,在該終端視窗中執行的程式也會終止。)。

安裝 screen 工具

it@serverc:~$ sudo apt install screen -y

*  在 centos 中,你需要先安裝 epel-release 才可以安裝 screen( 在 centos 中安裝軟體使用 yum 或者 dnf )

會話共享

在 a 主機上建立乙個名為 it 的 screen 會話

it@serverc:~$ screen -s it

it@workstation:~/ansible$ ssh [email protected]

[email protected]'s password: 

welcome to ubuntu 20.04.1 lts (gnu/linux 5.4.0-60-generic x86_64)

... ... ... ...

... ... ... ...

last login: thu jan 14 13:57:32 2021

it@serverc:~$ screen -ls

there is a screen on:

2107.it (01/14/21 07:30:27) (attached)

1 socket in /run/screen/s-it.

然後加入到該會話

it@serverc:~$ screen -x it

這樣就可以兩邊共享乙個 screen 會話,不管誰執行什麼命令,另乙個都可以看到;

當網路中斷或視窗意外關閉後,任務繼續執行

在 linux 開啟兩個終端視窗,我們分部稱他們為 a 視窗和 b 視窗,在 a 視窗中執行 ping

it@workstation:~$ ping 10.10.10.1

ping 10.10.10.1 (10.10.10.1) 56(84) bytes of data.

64 bytes from 10.10.10.1: icmp_seq=1 ttl=64 time=1.21 ms

64 bytes from 10.10.10.1: icmp_seq=2 ttl=64 time=1.22 ms

64 bytes from 10.10.10.1: icmp_seq=3 ttl=64 time=1.19 ms

... ... ... ...

... ... ... ...

it@workstation:~$ ps aux | grep ping

it          2336  0.0  0.2 317144  8740 ?        ssl   2020   0:17 /usr/libexec/gsd-housekeeping

it        153585  0.0  0.0  12764   872 pts/3    s+   14:53   0:00 ping 10.10.10.1

it        153646  0.0  0.0  12108   736 pts/2    s+   14:56   0:00 grep --color=auto ping

我們看到 ping 正在執行

it@workstation:~$ ps aux | grep ping

it          2336  0.0  0.2 317144  8740 ?        ssl   2020   0:17 /usr/libexec/gsd-housekeeping

it        153651  0.0  0.0  12108  2964 pts/2    s+   14:57   0:00 grep --color=auto ping

此時 ping 命令已經結束了

it@serverc:~$ screen -s test

然後在 screen 視窗中執行 ping 命令

it@workstation:~$ ping 10.10.10.1

ping 10.10.10.1 (10.10.10.1) 56(84) bytes of data.

64 bytes from 10.10.10.1: icmp_seq=1 ttl=64 time=1.21 ms

64 bytes from 10.10.10.1: icmp_seq=2 ttl=64 time=1.15 ms

64 bytes from 10.10.10.1: icmp_seq=3 ttl=64 time=1.21 ms

... ... ... ...

... ... ... ...

it@workstation:~$ ps aux | grep ping

it          2336  0.0  0.2 317144  8684 ?        ssl   2020   0:17 /usr/libexec/gsd-housekeeping

it        154964  0.0  0.0  12768   940 pts/3    s+   15:02   0:00 ping 10.10.10.1

it        154986  0.0  0.0  12108   736 pts/4    s+   15:05   0:00 grep --color=auto ping

我們發現 ping 命令還在繼續執行

it@workstation:~$ screen -r test

上下分屏

建立乙個 screen 會話

it@serverc:~$ screen -s test

按ctrl+a,然後按shift+s開啟分屏;

按ctrl+a,然後再按tab,切換到下面螢幕

但此時下面螢幕什麼還沒有,你需要通過ctrl+a,然後按c在下面螢幕中建立終端

這樣我們就可以在下面螢幕執行命令了,如果我們需要在不同的螢幕之間切換,可以通過 按ctrl+a,然後再按tab來切換。

當需要退出時,我們可以通過 exit 命令退出(在乙個螢幕執行 exit 命令後,只是終端退出了,分屏的狀態並沒有退出,所以你需要通過前面的方法,切換到另乙個螢幕上,再次執行 exit 退出)。

終端分屏工具screen

linux自帶vim有分屏功能,但是只能分屏顯示檔案,不能同時顯示多個終端,針對這一需要,推薦乙個終端分屏工具。使用screen分屏 只能上下分屏,不能左右分屏 1 安裝工具 在ubuntu系統中使用sudo apt get install screen 安裝screen工具 2 使用工具 1,輸入...

Linux終端下的強大工具screen的認識

使用telnet或ssh遠端登入linux時,如果連線非正常中斷,重新連線時,系統將開乙個新的session,無法恢復原來的session。screen命令可以解決這個問題。screen工具是乙個終端多路轉接器,在本質上,這意味著你能夠使用乙個單一的終端視窗執行多終端的應用。基本命令 開乙個會話,並...

Linux終端下的強大工具screen的認識

使用telnet或ssh遠端登入linux時,如果連線非正常中斷,重新連線時,系統將開乙個新的session,無法恢復原來的session。screen命令可以解決這個問題。screen工具是乙個終端多路轉接器,在本質上,這意味著你能夠使用乙個單一的終端視窗執行多終端的應用。基本命令 開乙個會話,並...