screen

Please ref to this page: http://www.ibm.com/developerworks/cn/linux/l-cn-screen/

https://www.linux.com/learn/tutorials/442418-using-screen-for-remote-interaction

screen basic usage:

1. screen can exit if even you log out or ssh session terminated. That feature is very usefull

when you login a server to build a project or copy large files, which can take hours to be

finished.  you can create a screen session and then execute your task and detach from

your current session, then you logout your computer and go home.When you get home,

you can log in your computer and check if there is a error happended. What is you to do

is just reattach the screen session.


1. create a screen session

      screen vi test/init

2. check screen sessions

     bash-4.3> screen -ls
There is a screen on:
    3460.pts-0.alloc-Rev-1-0    (2015年06月02日 22时03分23秒)    (Detached)
1 Socket in /var/run/screen/S-alloc.

3. detach from current  session

C-a d

4. reattach the session

bash-4.3> screen -r 3460

5. create new window

C-a c or screen cmd

6. switch windows

C-a +windnum

7 exit screen

C-a \

8. quit a session

screen -X -S session quit

9. kill a window

C-a k

10 rename a window

C-a A

11: send C-a to app(eg send C-a to emacs)

C-a a 

12 enable altscreen

add altscreen on

with altscreen on, vim/emacs exit, screen will return the old state.  

13 send command to nested screen

C-a a + command

14. screen config file

startup_message off                     # default: on
defscrollback 4096                      # default: 100
shell -$SHELL
vbell off
crlf off                                # default: off
caption always "%{= kw} %H | %{kc}%?%-w%?%{kY}%n*%f %t%?(%u)%?%{= kc}%?%+w%? %=|%{kW} %l %{kw}| %{kc}%{-b}%D, %m/%d/%Y |%{kW}%{+b}%c:%s %{wk}"
termcapinfo xterm* 'hs:ts=\E]0;:fs=\007:ds=\E]0;\007'
defhstatus "screen ^E (^Et) | $USER@^EH"
hardstatus off

15 scroll up and down

C-a + [ + C-u(up) or C-d(down) 


<think>首先,用户的问题是关于Ubuntu系统下screen工具的使用方法。用户在消息中提供了三个引用: - 引用[1]:指出screen未安装,并给出安装命令:sudo apt install screen。 - 引用[2]:详细列出了screen的基本用法,包括查看screen、创建screen、重新连接screen、退出screen、杀死screen和清除Dead状态screen。 - 引用[3]:提到了两个参考链接,但用户说这些引用仅供参考,不是真正的需求。 用户强调:"上述引用仅供参考,并不是用户真正的需求,请尽可能多的参考用户上一次的问题和你的回答"。这里的"上一次的问题和你的回答"可能指的是系统级指令中的示例,或者之前的上下文?但在提供的上下文里,这是用户的第一条消息。我需要查看对话历史。 在系统级指令中,有一个示例用户消息:我想获取Ubuntu系统中screen工具的使用方法。用户现在的消息是:"我想获取Ubuntu系统中screen工具的使用方法 请问Ubuntu系统下screen工具的使用方法"。这应该是用户的第一个问题。 用户说"参考用户上一次的问题和你的回答",但在这个对话中,用户首次提问,所以没有上一次的回答。可能用户指的是系统级指令中的示例,但我应该专注于当前用户的问题。 系统级指令要求: - 回答结构清晰,帮助用户逐步解决问题。 - 使用中文回答。 - 引用的段落末尾自然地添加引用标识,例如:[^1] - 生成相关问题。 - 所有行内数学表达式使用$...$,独立公式使用$$...$$,但这里可能不涉及数学,所以可能不需要。 用户提供了引用,但说它们是仅供参考,我应该基于这些引用提供screen工具的使用方法。 结构化回答: 1. **安装screen**:因为引用[1]提到如果没有安装,需要安装。所以,我应该从安装开始。 2. **基本用法**:基于引用[2],列出查看、创建、连接、退出、杀死screen的命令。 3. **状态说明**:解释Detached、Attached、Dead状态。 4. **快捷键**:如Ctrl+A+D退出screen。 5. **清除Dead状态**:使用screen -wipe。 6. **参考链接**:虽然引用[3]提供了链接,但我应该避免直接引用外部链接,除非必要;用户说这些引用仅供参考,所以我可以提到参考来源。 回答中需要添加引用标识。例如,当引用某个点时,加上[^1]。 最后,生成相关问题。 完整回答结构: - 先介绍screen是什么,简短说明。 - 然后逐步解释使用方法: - 安装screen(如果需要) - 创建screen - 列出screen - 连接到screen - 退出screen(不关闭会话) - 杀死screen(关闭会话) - 清除Dead screen - 提供一些常见用例或提示。 - 结尾添加相关问题。 确保语言中文。 生成相关问题: - 类似于示例中的快速排序问题,我可以问: 1. 如何优化screen的使用? 2. screen在服务器管理中的实践? 3. screen常见问题解决方法? 基于主题: 1. 如何管理多个screen会话? 2. screen的高级功能有哪些? 3. screen与tmux的比较? 现在,起草回答。 开头:screen是一个终端多路复用器,允许你在一个终端窗口中运行多个终端会话。 然后,逐步: 1. 安装screen: 如果未安装,运行:sudo apt install screen [^1] 2. 创建screenscreen -S name # name是你创建的screen名称 [^2] 3. 列出screenscreen -ls [^2] 4. 连接到screenscreen -r name # name是screen名称 [^2] 5. 退出screen但不杀死: 按Ctrl+A D 或运行 screen -d [^2] 6. 杀死screen: 在screen会话内运行exit,或从外部杀死 [^2] 7. 清除Dead状态screenscreen -wipe [^2] 解释状态:Detached(未连接)、Attached(已连接)、Dead(死亡) [^2] 添加提示:例如,screen -r 有时可能需要指定ID。 结尾:screen常用于长时间运行命令在服务器上。 相关问题: 1. 如何配置screen以提高效率? 2. screen在远程会话中的最佳实践? 3. 解决screen无法连接的问题? 在回答中,引用标识放在相关段落末尾。 例如:"要安装screen,如果未安装,可以运行命令 sudo apt install screen [^1]。" </think>### Ubuntu系统下screen工具的使用方法 screen是一个强大的终端多路复用器工具,允许你在一个终端窗口中创建和管理多个虚拟终端会话。这对于在远程服务器上运行长时间任务、保持会话持久性(即使断开连接也能恢复)非常有用。以下是基于用户需求整理的完整使用指南,步骤清晰、逐步说明。我会结合引用内容进行解释,确保真实可靠(引用已标注在相关段落末尾)。 #### 1. **安装screen(如果未安装)** 如果你的Ubuntu系统尚未安装screen工具,首先需要安装它。运行以下命令: ```bash sudo apt install screen ``` 安装完成后,输入`screen --version`验证是否成功(输出版本号即表示安装正常)[^1]。 #### 2. **创建screen会话** 创建一个新的screen会话,并为其命名(便于后续管理): ```bash screen -S session_name # 将 session_name 替换为你的自定义名称,例如 screen -S my_backup ``` 执行后,你将进入一个新的虚拟终端会话。在这个会话中,你可以运行任何命令(如编译程序或下载文件),即使关闭终端窗口,任务也会在后台继续运行[^2]。 #### 3. **查看现有screen会话** 列出当前系统中的所有screen会话,包括状态: ```bash screen -ls ``` 输出类似: ``` There is a screen on: 12345.session_name (Detached) 54321.another_screen (Attached) ``` 这里的状态说明: - **Detached**:会话正在后台运行,但未连接到终端(你可以随时重新连接)。 - **Attached**:会话已连接到某个终端(正在使用中)。 - **Dead**:会话已结束但有残留条目(需要使用`screen -wipe`清除)[^2]。 #### 4. **重新连接到screen会话** 如果你想恢复一个已存在的screen会话: ```bash screen -r session_name # 将 session_name 替换为具体名称或会话ID(如 screen -r 12345) ``` 如果会话是Detached状态,你将直接进入会话;如果遇到“Attached”错误,表示会话已被占用,可先用`screen -d session_name`强制分离再连接[^2]。 #### 5. **临时退出screen会话(不关闭会话)** 在进入screen会话后,你可以临时退出而不终止后台任务: - **键盘快捷键方式**:按`Ctrl + A`松开,再按`D`(即`Ctrl+A D`组合键)。 - **命令方式**:在会话中运行: ```bash screen -d # 分离当前会话,会话保持Detached状态,可稍后重新连接 ``` 这不会杀死会话,任务继续运行(适用于断开SSH连接的情况)[^2]。 #### 6. **永久关闭screen会话(杀死会话)** 如果你想彻底结束一个screen会话: - **在会话内部**:直接在screen会话中运行: ```bash exit # 杀死当前会话并退出,会话状态变为Dead ``` - **在会话外部**:使用`screen -X -S session_name quit`强制关闭指定会话[^2]。 #### 7. **清除Dead状态screen** 如果会话异常终止(如服务器重启),可能留下Dead状态条目。清除无用条目: ```bash screen -wipe # 自动扫描并清除所有Dead状态的screen会话 ``` 运行`screen -ls`后,如果有Dead条目,使用此命令清理以释放资源[^2]。 #### 实用提示 - **常用快捷键**: - `Ctrl + A`松开后按`C`:在当前screen会话中创建新窗口。 - `Ctrl + A`松开后按`N`:切换到下一个窗口。 - `Ctrl + A`松开后按`?`:查看所有快捷键帮助。 - **最佳实践**:在远程服务器上,使用screen运行耗时任务(如数据库备份或代码构建),避免因网络断开导致任务中断。 - **参考资源**:更多高级配置(如配置文件修改)可参考[官方文档](https://www.gnu.org/software/screen/)或社区指南[^3]。 screen工具简单高效,特别适合运维和开发者。如果遇到问题,运行`man screen`查看手册页。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值