linux screen

发布于:2024-07-04 ⋅ 阅读:(10) ⋅ 点赞:(0)

计算机最开始只有黑白界面,我们通过键盘设备输入字符进行编程等行为进行编程, 让计算机完成我们设定的任务. 随着计算机技术及硬件的发展, 黑白屏幕被图形界面替代, 应用程序的 GUI 界面操作成为主流,
只有远程终端由于带宽占用少,实时性高等优点一直存在到现在. 然后有时由于网络等原因可能导致远程被意外断开,导致我们运行的程序被终止, 这是我们可以采用后台运行的手段进行后台运行,达到程序与终端分离使程序稳定运行.

后台运行能够解决一部分场景, 但是如果涉及到交互程序, 就不能满足需求了, 我这里介绍一个虚拟终端的方案, screen 可以做到后台运行, 不因为物理终端断开而导致程序终止, 具体操作如下.

参用命令:

  1. 新建终端
screen -S 模拟终端名称
# 如: screen -S abc

  1. 新建后台执行终端
screen -dmS 模拟终端名称 bash "执行命令"
# 如: screen -dmS abc bash test.sh

  1. 退出终端 ctrl + A, D

  2. 进入终端

screen -r 模拟终端名称
# 如: screen -r abc

  1. 停止终端
screen -XS 模拟终端名称 quit
# 如: screen -XS abc quit

上面是对 screen 软件的基础使用, 可能感觉比较麻烦, 可以建立快捷方式命令简化操作, 在 ~/.bash_aliases 中添加 简化命令:

alias scn='screen -S'
alias scnd='screen -dmS'
alias scls='screen -ls'
alias scr='screen -r'

function scq(){
        screen -XS $1 quit
}

简化命令的其使用样例及其说明
编号 命令 缩写 缩写使用样例 说明
1 screen -S scn scn abc 创建一个名称为 abc 的虚拟终端,并进入
2 screen -dmS scnd scnd abc2 bash -c “test” 创建一个名称为 abc 的虚拟后台终端使用 bash 执行 test 程序
3 screen -ls scls scls 参看当前已有终端并显示状态
4 screen -r scr scr abc 进入 名称为 abc 的虚拟终端
5 screen -XS 名 quit scq scq abc 终止虚拟终端

滚动屏幕

进入拷贝模式: ctrl+a [

编号 命令 说明
1 h 将光标向左移动一个字符
2 j 将光标向下移动一行
3 k 将光标向上移动一行
4 l 将光标向右移动一个字符
5 0 移动到当前行的开头
6 $ 移动到当前行的末尾。
7 G 移动到指定的行
8 C-u 向上滚动半页。
9 C-b 向上滚动一整页。
10 C-d 向下滚动半页。
11 C-f 向下滚动整页。

参考: