reference/docs/screen.md
2022-10-10 21:22:44 +08:00

141 lines
3.8 KiB
Markdown

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>
```