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工具是乙個終端多路轉接器,在本質上,這意味著你能夠使用乙個單一的終端視窗執行多終端的應用。基本命令 開乙個會話,並...