在日常的Linux系统管理工作中,我们经常需要同时运行多个命令行窗口,监控多个应用的运行情况。然而,同一终端只支持单个 shell 环境,无法在同一终端中同时运行多个独立的命令行窗口。在这种情况下,Screen 命令可以帮助我们管理多个终端窗口,并允许我们在其中的任意一个窗口中运行多个命令。
一、常用命令选项
1、创建新的 Screen 窗口
screen -S myscreen
2、由已存在的 Screen 会话创建一个新窗口
ctrl+a c
3、列出当前已经存在的 Screen 窗口
screen -ls
4、离开当前窗口,但不关闭
ctrl+a d
5、恢复离开的 Screen 窗口
screen -r
二、会话的创建和恢复
在Linux系统的终端中,如果执行了某些操作,比如运行某个程序或者启动某个服务之后,就不能再使用当前的终端来执行其他任何操作。这时,想要再次回到原来的状态,就只能关闭当前的终端,重新打开一个新的终端。
为了解决这个问题,Screen 命令提供了会话的创建和恢复功能。
首先,使用以下命令创建一个新的 Screen 会话:
screen -S mysession
这个命令会创建一个名为 “mysession” 的新会话,并将当前的 shell 环境放入这个会话窗口中。
在该会话窗口中执行其他命令时,可以在该窗口中使用其他 Screen 命令来创建新的窗口并切换到不同的窗口中执行其他命令。
在需要离开当前窗口时,使用快捷键 “ctrl+a d” 来挂起当前窗口并返回原来的终端。如果需要恢复之前创建的会话,只需要执行以下命令:
screen -r mysession
这个命令会恢复名为 “mysession” 的会话窗口,并进入该窗口中。
三、分离和重连会话窗口
在某些情况下,需要临时离开当前的终端会话,但是又不想中断正在执行的程序。这时可以将会话窗口分离,等需要恢复时再重新连接回来。
使用以下命令,可以将当前的会话窗口分离:
ctrl+a d
这样会话窗口就会被分离出来,并在后台继续执行。此时,可以在当前终端中执行其他的操作。
要恢复分离的会话窗口,只需要执行以下命令:
screen -r
如果只有一个分离的会话窗口,直接执行以上命令即可恢复,如果存在多个分离的会话窗口,需要在命令后面加上会话的 ID 或名称,例如:
screen -r 12345
或者:
screen -r mysession
四、同时使用多个会话窗口
Screen 命令还支持同时使用多个会话窗口,可以通过以下命令创建一个新的会话窗口:
ctrl+a c
这个命令会在当前会话窗口中创建一个新的窗口,然后可以使用以下命令在不同的窗口之间切换:
ctrl+a n
切换到下一个窗口。
ctrl+a p
切换到上一个窗口。
还可以使用以下命令列表所有会话窗口,然后通过数字键选择相应的窗口:
ctrl+a “
要关闭当前的窗口,可以使用以下命令:
exit
五、使用 Screen 命令进行远程访问
Screen 命令支持通过 SSH 等远程协议进行连接,并在远程服务器上创建会话窗口。
要在远程服务器上创建一个会话窗口,可以使用以下命令:
ssh remoteuser@remotehost.com screen -S mysession
这个命令会登录到远程服务器,然后在会话窗口中创建一个名为 “mysession” 的新会话。
使用以下命令可以分离当前的会话窗口,并在后台继续执行:
ctrl+a d
要在本地重新连接到远程服务器上的会话窗口,只需要在本地的终端中执行以下命令:
ssh remoteuser@remotehost.com screen -r mysession
这个命令会连接到远程服务器,并恢复名为 “mysession” 的会话窗口。
综上所述,Screen 命令是 Linux 系统管理员必备的一个工具,它可以帮助我们管理多个终端窗口,并允许我们在其中的任意一个窗口中运行多个命令,轻松提高工作效率。