抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

Linux screen命令用于多重视窗管理程序。
screen为多重视窗管理程序。此处所谓的视窗,是指一个全屏幕的文字模式画面。通常只有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen程序。

Screen命令

我会用到这个命令是因为,我有时会在nas中下载高容量影音文件的需求,而我往往没有耐心等到文件全部下载完再断开连接。我希望在我睡觉时也能够下载,因此我需要一种方法,让我即使断开ssh连接也能够持续运行命令。

Screen是这种情况的解决方案。

Screen
split-screen-cover

Screen的操作步骤

  1. 启动一个新的 screen 会话:

    1
    screen -S <name>
  2. 在这个会话中启动你的下载命令。

  3. 要离开会话但保持它在后台运行,按 Ctrl-A 然后按 D

  4. 当你想要返回这个会话时,使用:

    1
    screen -r <name>

Screen的特点是,除非你主动关闭,这些后台会话会持续运行。它们会一直运行,直到主动关闭它们、系统重启,或者停电之类的原因导致的系统崩溃。

注意

需要注意的几点:

  1. 这些会话会占用系统资源,所以如果你不再需要某个会话,最好将其关闭。
  2. 如果你的下载命令完成了,会话不会自动关闭,它会保持打开状态等待进一步的输入。
  3. 你可以在同一个 screen 会话中运行多个命令或打开多个窗口,这对于管理多个任务很有用。
  4. 如果你意外断开连接(比如网络问题),screen 会话会继续在后台运行,你可以在重新连接后恢复它。

使用 screen 或类似工具的一个额外好处是,即使在网络不稳定的情况下,你的长时间运行的任务也能保持运行,不会因为 SSH 连接断开而中断。这对于确保下载任务能够顺利完成特别有帮助。

常用命令

一些最常用的 screen 命令:

  1. 创建新的 screen 会话:

    1
    screen -S session_name
  2. 分离当前 screen 会话:
    Ctrl-A, 然后按 D

  3. 列出所有 screen 会话:

    1
    screen -ls
  4. 重新连接到一个已分离的会话:

    1
    screen -r session_name
  5. 在当前 screen 会话中创建新窗口:
    Ctrl-A, 然后按 c

  6. 在 screen 窗口间切换:

  • 下一个窗口: 按 Ctrl-A, 然后按 n
  • 上一个窗口: 按 Ctrl-A, 然后按 p
  • 切换到指定编号的窗口: 按 Ctrl-A, 然后按窗口号(0-9)
  1. 关闭当前窗口:
    Ctrl-A, 然后按 k, 确认关闭
  2. 完全退出 screen 会话:
    Ctrl-A, 然后按 \, 确认退出
  3. 在 screen 会话中滚动:
    Ctrl-A, 然后按 [. 使用方向键或 PageUp/PageDown 滚动。按 Esc 退出滚动模式。

这些命令涵盖了 screen 的大多数基本功能。

解释:Ctrl-A 是 screen 的”命令键”,用来告诉 screen “接下来的按键是一个命令”。而D用来告诉系统分离(Detach)会话。

另外

Screen还可以分割和管理当前的可视化窗口:

  1. 分割当前窗口:
  • 水平分割: 按 Ctrl-A, 然后按 S
  • 垂直分割: 按 Ctrl-A, 然后按 |
  1. 在分割的窗口间切换:按 Ctrl-A, 然后按 Tab来切换焦点。

评论