CKylin.Blog

[笔记] screen命令的使用方法

因为最近使用screen命令比较多,但是一旦进入screen会话,不管用哪个terminal都会有不能翻页等的问题。我虽然知道有快捷键,但是也只是知道一个CR+a+d进行detach的快捷键,所以特地去查了一下,在这里记录下。

常用的命令

新建会话

screen -S <NAME>

创建一个NAME为名的screen会话。

如果还想要指定默认启动会话的命令,还可以使用-s

screen -S myscreen -s /bin/bash

脱离会话

每一个会话都会有一个是否attached的状态,如果已经attached,那么就不能再次attach,必须先detach。

screen -d <NAME|SID>

通过这个命令可以快速detach一个会话。假如在切换到某个会话后不小心断开了SSH连接什么的,通过这个命令可以快速恢复。

连接会话

screen -r <NAME|SID>

通过这个命令可以快速连接到一个已有的会话。

假如遇到上面提到的断开连接,但是想要直接连接到刚刚那个会话,也可以通过把-r换成-R的方式,这样会自动踢掉上一个连接。

列出所有会话

screen -ls

通过这个可以列出所有会话,可以看到SID和NAME。

强制退出

screen -X -S <NAME|SID> quit

强制杀死一个会话。

执行命令而不attach

想要对任意screen会话执行命令而不进入,可以用下面这条命令

screen -S <NAME|SID> -p <DISPLAYID:0> -X <CMD>

共享会话

可以让两个连接使用相同窗口,同时输入并接受输出。主要参数是-x

创建并共享窗口:

screen -S <NAME> -x

打开一个已经attach的窗口,以共享的方式:

screen -x <name>

常用快捷键

Detach

从一个会话脱离的方法

CR+A+D

在最近的两个会话之间切换

CR+A+A

若要执行bash中的CR+A回到命令开头,可以先按下组合键然后松手,然后再按A:

CR+A, A

切换到复制模式(滚动屏幕)

CR+A, [

再次按下[CR+C可以返回正常模式

暂挂会话

CR+A+Z

此时会话暂停到后台,可以通过fg来恢复

关闭会话

CR+A+K

此时会话会被结束,不保留。

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »