screen命令
更新时间:2021-08-30更新版本:v1.0一、screen 命令Screen 是一个全屏窗口管理器,它可以在多个进程之间多路复用一个物理终端。Screen 中有会话的概念,用户可以在一个会话中创建多个 screen 窗口,在每一个 screen 窗口中就像操作一个真实的 telent/SSH 连接窗口那样。通俗的讲,screen 命令用于新建一个或多个“命令行窗口”在新建的这些“窗口”中,可
·
更新时间:2021-08-30
更新版本:v1.0
一、screen 命令
Screen 是一个全屏窗口管理器,它可以在多个进程之间多路复用一个物理终端。Screen 中有会话的概念,用户可以在一个会话中创建多个 screen 窗口,在每一个 screen 窗口中就像操作一个真实的 telent/SSH 连接窗口那样。通俗的讲,screen 命令用于新建一个或多个“命令行窗口”在新建的这些“窗口”中,可以执行命令并且这些“窗口”都是独立并行的。
1.1 语法
screen [ -options ] [ cmd [ args ] ]
screen -r [[pid.]tty[.host]]
screen -r sessionowner/[[pid.]tty[.host]]
1.1.1 参数说明
参数选项 | 描述 |
---|---|
-A | 将所有的视窗都调整为目前终端机的大小 |
-d [ SCREEN ] | 将指定的screen作业离线 |
-h [ LINES ] | 指定视窗的缓冲区行数 |
-r [ SCREEN ] | 恢复离线的screen作业 |
-R [ SCREEN ] | 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。 |
-s [ SHELL ] | 指定建立新视窗时,所要执行的shell |
-S [ SCREEN ] | 创建新screen会话并指定会话名称 |
-v | 显示版本信息 |
-x [ SCREEN ] | 恢复之前离线的screen作业 |
-ls 或 -list | 显示目前所有的screen作业 |
-wipe | 检查目前所有的screen作业,并删除已经无法使用的screen作业 |
-t [ TITLE ] | 设置标签 |
-m | 即使目前已在作业中的screen作业,仍强制建立新的screen作业 |
1.2 快捷键
进入 screen 会话后,使用快捷键 CTRL+a 后可以再加一些键值进行指定特定功能
快捷键 | 描述 |
---|---|
先按 CTRL+a,然后按 ? | 显示所有键绑定信息 |
先按 CTRL+a,然后按 c | 创建一个新的运行 shell 的窗口并切换到该窗口(新窗口只有执行快捷键用户能看到) |
先按 CTRL+a,然后按 n | Next,切换到下一个 window |
先按 CTRL+a,然后按 p | Previous,切换到前一个 window |
先按 CTRL+a,然后按 0…9 | 切换到第 0…9 个 window |
先按 CTRL+a,然后按 [Space] | 由视窗0循序切换到视窗9 |
先按 CTRL+a,然后按 CTRL+a | 在两个最近使用的 window 间切换 |
先按 CTRL+a,然后按 x | 锁住当前的 window,需用用户密码解锁 |
先按 CTRL+a,然后按 d | 暂时离开当前 session,将目前的 session (可能含有多个 windows) 丢到后台执行,并会回到还没进 screen 时的状态 |
先按 CTRL+a,然后按 z | 把当前 session 放到后台执行,用 shell 的 fg 命令则可回去 |
先按 CTRL+a,然后按 w | 显示所有窗口列表 |
先按 CTRL+a,然后按 t | time,显示当前时间,和系统的 load |
先按 CTRL+a,然后按 k | kill window,强行关闭当前的 window |
先按 CTRL+a,然后按 * | 查看当前 screen 有多少个终端接入 |
1.3 示例
创建新 screen 会话
# 语法
screen -S [ SESSION ]
# 新建一个help会话,并默认进入session中
screen -S help
# 新建一个t1会话,但不进入会话
screen -dmS t1
# 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
screen -R T1
显示所有已经打开的 screen 会话
# 当有终端在screen会话中时
[root@CentOS7 ~]# screen -ls
There is a screen on:
1566.help (Attached)
1 Socket in /var/run/screen/S-root.
# 当没有终端在screen会话中时
[root@CentOS7 ~]# screen -ls
There is a screen on:
1566.help (Detached)
1 Socket in /var/run/screen/S-root.
加入到已存在的 screen 会话中
# 语法
screen -x [ SESSION ]
# 进入一个会话中
screen -x help
# 恢复某会话
screen -r T1
# # 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
screen -R T1
退出并关闭会话
exit
剥离当前会话,但是不关闭
# 使用快捷键
先按 CTRL+a 键,然后按 d 键
恢复某会话
# 语法
screen -r [ SESSION ]
# 恢复会话
screen -r help
更多推荐
已为社区贡献2条内容
所有评论(0)