【生意多】-免费发布分类信息
当前位置: 首页 » 新闻 » 教程 » 正文

终端分屏命令 screen 基本操作记录

放大字体  缩小字体 发布日期:2020-06-11 16:48:18    浏览次数:9
导读

  与 tmux 工具较为类似,sreen 命令同样提供在唯一个的命令行终端上进行多窗口切换和管理的基本功能( 关于 tmux 基本操作可参见笔者的博文终端复用工具 tmux 基本操作教程)。  screen 命令以会话( session )为基础为用户提供终端复用功能,会话可以被认为是后台运行的程序,其中可以进行命令执行、新窗口创建等操作,

  与 tmux 工具较为类似,sreen 命令同样提供在唯一个的命令行终端上进行多窗口切换和管理的基本功能( 关于 tmux 基本操作可参见笔者的博文终端复用工具 tmux 基本操作教程)。

  screen 命令以会话( session )为基础为用户提供终端复用功能,会话可以被认为是后台运行的程序,其中可以进行命令执行、新窗口创建等操作,不同的会话可以包含有不同的运行内容。当终端绑定到特定会话上时,则该终端会显示该会话的信息,包括会话中包含的窗口、执行的命令、输出等。当终端从当前会话解除绑定时,当前终端不再显示会话的内容,但会话仍然独立的运行在后台,只有当会话中不再有正在运行的程序时(包括窗口运行的 shell 程序),该会话自动被结束。

  screen 的安装方式与之前介绍的 tmux 大致相同,用户可通过 apt 命令直接在个人计算设备上进行安装。与 tmux 不同的是,一般的 Ubuntu 服务器操作系统会自带 screen 程序,故而用户使用服务器时,可直接通过 screen 命令进行终端复用和管理。

  想要使用 screen 命令的功能,既可以在 shell 中直接输入 screen + 操作 格式的命令执行操作,又可以通过 screen 提供的 prefix + 功能键 的方式进行操作。其中前者可在任何可执行命令行操作的终端中运行,后者只有绑定了 screen 的会话后的终端才能使用。

  在 screen 创建的窗口中,默认用户的按键操作直接作为终端的按键输入,只有当用户输入特定的命令前缀( prefix )时,后续的按键输入才会根据 screen 命令与按键的绑定情况被解释为特定的 screen 操作,这一点与 tmux 命令的 prefix + 功能键 的控制方式相类似。screen 默认的命令前缀为 Ctrl + a,在输入命令前缀之后,用户键入 screen 命令所支持的功能按键,即可执行指定的 screen 操作。

  当用户在某一终端运行 sreen 命令时,当前终端即进入某个 screen 创建的会话,新建的会话默认拥有一个运行 shell 的窗口,用户可在该窗口中进行所需操作,并通过 screen 命令进行会话中新窗口的创建、对某个窗口进行面板划分等操作。用户可通过 screen 命令脱离( detach )某个会话,则该会话会在后台运行而不再显示到终端上,当前终端也可通过 screen 命令绑定( attach )到某个会话上,从而显示目标会话中的窗口内容,以供用户操作。当会话中所有的窗口均退出时,则 screen 会话自动结束

  用户可通过 screen -S 会话名 创建一个新的会话。在终端中运行上述命令后,当前终端即绑定( attach )新创建的会话,新建会话默认创建一个运行 shell 的窗口,用户即可在其中进行操作。

  可通过 screen -d session_name 使得当前终端脱离( 不再显示 )指定会话,被脱离的会话仍在后台运行,可通过 screen 命令重新绑定.

  可通过 screen -r session 使得当前终端重新进入某个会话,用户既可以使用每个会话拥有的独立编号指定会话,也可以通过创建会话时的会话名来指定会话。

  用户也可以直接通过 screen command 的方式创建一个单窗口会话,command 直接指定新建会话中要运行的命令( 不再默认运行 shell ),命令执行完毕则会话自动退出。

  对于一个 screen 会话而言,当其中运行的最后一个程序退出时( 如唯一的窗口中的 shell 程序退出 ),会话即自动结束。当会话非自然的无法使用时,通过 screen -ls 查看时,该会话后面会带有dead后缀,用户可通过 screen -wipe 直接上述删除这些会话。

  在绑定了 screen 会话的窗口中,可以进行 screen 窗口的管理。一般而言常用的窗口管理方式有两种,一种直接通过命令行输入 screen 命令,另一种则是通过 screen 会话所支持的 prefix + 操作 的方式。在实际使用过程中,由于 screen 会话提供的窗口一般会用于执行用户所需的命令,故而命令行输入命令的方式并不总是可用的,笔者更常使用适用范围更广的 prefix + 操作 的方式进行窗口管理。下列命令即记录输入 prefix ( screen 的命令前缀为 Ctrl + a )后各个特定输入与命令之间的对应关系,不再记录命令前缀。注意,下列窗口管理的功能也可通过命令行输入命令的方式实现,具体可参见 screen 命令的 man 帮助文档。

  有时候会出现想要进入某个会话如 test,但是使用 screen -r test 时并没有进入已存在的会话,而是新建了会话的情况。通过 screen -ls 命令查看已经存在的会话,发现会话 test 处于 attached 状态,而不是正常的 detached 状态。这是因为存在 screen 不正常的脱离会话。解决方法是使用 -D 参数。

 
关键词: screen 命令
(文/小编)
打赏
免责声明
• 
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:http://www.31duo.com/news/show-260599.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 

(c)2016-2019 31DUO.COM All Rights Reserved浙ICP备19001410号-4

浙ICP备19001410号-4