在日常運維工作中,我們經常需要同時管理多個遠程終端,而終端常常因為連接中斷、操作系統崩潰等原因而關閉,這會給操作帶來極大的不便。為了解決這類問題,出現了諸如 tmux、byobu 以及 screen 等工具,它們可以通過一個終端會話管理多個終端,並在斷開連接時保持會話依然存在。
一、安裝與基礎用法
在大多數 Linux 發行版中,您都可以使用包管理器進行安裝:
sudo apt-get install screen # Debian, Ubuntu, Mint
sudo yum install screen # CentOS, RHEL, Fedora
sudo pacman -S screen # Arch Linux
使用 screen 開始一個會話非常簡單:
screen
在這個會話中,您可以像使用任何終端一樣使用命令。如果您想要運行一個長時間運行的命令,例如 rsync,請按「Ctrl-a」和「d」來斷開與 screen 的連接。這將使這個會話在後台運行,您可以返回到原始終端,繼續其他工作。
要重新連接到剛剛斷開的會話,請使用以下命令:
screen -r
如果有多個會話,請使用以下命令查看所有會話:
screen -ls
如果您想要創建一個新的具有自定義名稱的會話,請使用以下命令:
screen -S session_name
二、窗口和分屏
使用 screen,您可以在單個終端中打開多個窗口,每個窗口都像一個獨立的終端。要創建一個新窗口,請按「Ctrl-a」和「c」:
Ctrl-a c
要在窗口之間切換,請按「Ctrl-a」和 n(下一個)或 p(上一個)。
使用 screen 還可以分屏,即將屏幕分成多個區域,每個區域顯示不同的終端。
要創建垂直分屏窗口,請按「Ctrl-a」和「|」:
Ctrl-a |
要創建水平分屏窗口,請按「Ctrl-a」和「S」:
Ctrl-a S
要在分屏窗口之間切換,請按「Ctrl-a」和方向鍵。
三、會話管理
如上所述,在 screen 中可以創建多個會話。您可以使用以下命令進行管理:
screen -S session_name
:創建新的具有自定義名稱的會話。screen -ls
:列出所有會話。screen -r
:重新連接到最後一個斷開的會話。screen -r session_name
:重新連接到特定名稱的會話。screen -X -S session_name kill
:關閉會話。
有時您可能需要在多台計算機之間共享 screen 會話。要在其中一台計算機上啟動會話並在其他計算機上連接到該會話,您需要在啟動命令中指定一個套接字文件,如下所示:
在 Server 上開始一個命名會話:
screen -S session_name -L -d -m -S /tmp/session_name
在 Client 上連接此會話:
screen -x -S session_name -D -R /tmp/session_name
這將在兩個計算機之間共享一個會話,儘管它實際上在 Server 上運行。
四、總結
使用 screen 可以使您更有效地使用終端,可以更好地管理多個會話和窗口,也可以允許在不同計算機之間共享會話。因此,screen 是每個運維工程師必備的工具之一。快去使用吧!
原創文章,作者:WORI,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/148721.html