2022-10-10 21:22:44 +08:00
|
|
|
Screen 备忘清单
|
|
|
|
====
|
|
|
|
|
|
|
|
这是 screen 命令的快速参考指南备忘单。
|
|
|
|
|
|
|
|
入门
|
|
|
|
----
|
|
|
|
|
|
|
|
### 快速开始
|
|
|
|
|
|
|
|
```shell
|
|
|
|
$ screen
|
|
|
|
```
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
1\. 按 <kbd>Ctrl-A</kbd> <kbd>D</kbd> 分离会话
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
2\. 列出所有屏幕会话
|
|
|
|
|
|
|
|
```shell
|
|
|
|
$ screen -ls
|
|
|
|
```
|
|
|
|
|
|
|
|
3\. 重新附加屏幕会话
|
|
|
|
|
|
|
|
```shell
|
|
|
|
$ screen -r <name/pid>
|
|
|
|
```
|
|
|
|
|
|
|
|
### 选项
|
|
|
|
<!--rehype:wrap-class=col-span-2-->
|
|
|
|
|
|
|
|
选项 | 示例 | 说明
|
|
|
|
:-|:-|:-
|
|
|
|
`-S` | screen -S debug | 使用会话名称启动新会话
|
|
|
|
`-ls` | screen -ls | 列出正在运行的会话/屏幕
|
|
|
|
`-x` | screen -x | 附加到正在运行的会话
|
|
|
|
`-r` | screen -r debug | 使用名称附加到正在运行的会话
|
|
|
|
`-R` | screen -R debug | 附加到会话 _(如果它不存在将创建)_
|
|
|
|
`-d` | screen -d -m wget xxxx.com/large.file | 分离模式下的开始屏幕
|
|
|
|
`-X` | screen -X -S debug kill | 终止正在运行的会话
|
|
|
|
<!--rehype:className=show-header-->
|
|
|
|
|
|
|
|
### 进入
|
|
|
|
|
|
|
|
Command | Description
|
|
|
|
:-|:-
|
|
|
|
`screen -S <name>` | 使用会话名称开始新的屏幕会话
|
|
|
|
`screen -ls` | 列出正在运行的会话/屏幕
|
|
|
|
`screen -x` | 附加到正在运行的会话
|
|
|
|
`screen -r <name>` | 使用名称附加到正在运行的会话
|
|
|
|
`screen -dRR` | “终极附加”
|
|
|
|
|
|
|
|
### 窗口管理
|
|
|
|
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
|
|
|
|
|
|
|
Command | Description
|
|
|
|
:-|:-
|
|
|
|
`Ctrl-A` `C` | 创建新窗口
|
|
|
|
`Ctrl-A` `Ctrl-A` | 更改为上次访问的活动窗口
|
|
|
|
`Ctrl-A` `0...9` | 按编号切换到窗口
|
|
|
|
`Ctrl-A` `'` `<0...9 or title>` | 按编号或名称更改为窗口
|
|
|
|
`Ctrl-A` `N` or `Ctrl-A` `<space>` | 切换到列表中的下一个窗口
|
|
|
|
`Ctrl-A` `P` or `Ctrl-A` `<backspace>` | 切换到列表中的上一个窗口
|
|
|
|
`Ctrl-A` `"` | 查看窗口列表
|
|
|
|
`Ctrl-A` `W` | 显示窗口栏
|
|
|
|
`Ctrl-A` `K` | 杀死当前窗口 _(不推荐)_
|
|
|
|
`Ctrl-A` `\` | 杀死所有窗口 _(不推荐)_
|
|
|
|
`Ctrl-A` `A` | 重命名当前窗口
|
|
|
|
<!--rehype:className=shortcuts-->
|
|
|
|
|
|
|
|
### 出去
|
|
|
|
|
|
|
|
Command | Description
|
|
|
|
:-|:-
|
|
|
|
`Ctrl-A` `D` | 分离
|
|
|
|
`Ctrl-A` `D` `D` | 分离和注销 <br> _(快速退出)_
|
|
|
|
`Ctrl-A` `:` | 退出所有会话
|
|
|
|
`Ctrl-A` `C-\` | 强制退出屏幕<br> _(不推荐)_
|
|
|
|
<!--rehype:className=shortcuts-->
|
|
|
|
|
|
|
|
### 帮助
|
|
|
|
|
|
|
|
| Command | Description |
|
|
|
|
|--------------|--------------------------------|
|
|
|
|
| `Ctrl-A` `?` | 查看帮助 _(列出键绑定)_ |
|
|
|
|
<!--rehype:className=shortcuts-->
|
|
|
|
|
|
|
|
### 杂项
|
|
|
|
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
|
|
|
|
|
|
|
Command | Description
|
|
|
|
:-|:-
|
|
|
|
`Ctrl-A` `C-l` | 重绘窗口
|
|
|
|
`Ctrl-A` `[` | 复制模式
|
|
|
|
`Ctrl-A` `ESC` | 复制模式
|
|
|
|
`Ctrl-A` `]` | 粘贴
|
|
|
|
`Ctrl-A` `M` | 活动监控窗口
|
|
|
|
`Ctrl-A` `_` | 静音监控窗口
|
|
|
|
`Ctrl-A` `Ctrl-V` | 输入二合字母 _(非 ASCII 字符)_
|
|
|
|
`Ctrl-A` `X` | 锁定(密码保护)显示
|
|
|
|
`Ctrl-A` `:` | 输入屏幕命令
|
|
|
|
`Ctrl-A` `H` | 在屏幕会话中启用日志记录
|
|
|
|
<!--rehype:className=shortcuts-->
|
|
|
|
|
|
|
|
### 分屏
|
|
|
|
|
|
|
|
Command | Description
|
|
|
|
:-|:-
|
|
|
|
`Ctrl-A` `S` | 水平分割显示
|
|
|
|
`Ctrl-A` `V` | 垂直分割显示
|
|
|
|
`Ctrl-A` `\|` | 垂直拆分显示
|
|
|
|
`Ctrl-A` `TAB` | 跳转到下一个显示区域
|
|
|
|
`Ctrl-A` `X` | 删除当前区域
|
|
|
|
`Ctrl-A` `Q` | 删除除当前区域之外的所有区域
|
|
|
|
<!--rehype:className=shortcuts-->
|
|
|
|
|
|
|
|
### 滚动
|
|
|
|
|
|
|
|
Command | Description
|
|
|
|
:-|:-
|
|
|
|
`Ctrl-a esc` | 进入滚动模式
|
|
|
|
`Ctrl-u` | 向上滑动
|
|
|
|
`Ctrl-d` | 向下滚动
|
|
|
|
`esc esc` | 退出滚动模式
|
|
|
|
<!--rehype:className=shortcuts-->
|
|
|
|
|
|
|
|
### 屏幕技巧
|
|
|
|
|
|
|
|
[SSH](./ssh.md) 并附加在一行中
|
|
|
|
|
|
|
|
```shell
|
|
|
|
$ ssh -t user@host screen -x <name/pid>
|
2022-11-11 01:51:54 +08:00
|
|
|
```
|