掌握screen可提升远程操作效率,它支持多会话管理:1. 用screen -S创建会话;2. Ctrl+A再按D分离会话;3. screen -ls查看会话;4. screen -r恢复会话;5. 支持多窗口(Ctrl+A+C/N/P)和命名;6. exit或screen -X quit结束会话;7. 可启用日志记录。
在linux命令行中,screen 是一个强大的终端复用工具,允许用户在一个终端窗口中运行多个会话,并且这些会话可以在网络中断或退出登录后继续运行。这对于长时间运行的任务(如下载、编译、服务监控)非常有用。
1. 安装 screen
大多数Linux发行版默认未安装 screen,可通过包管理器安装:
- ubuntu/debian: sudo apt install screen
- centos/RHEL: sudo yum install screen 或 sudo dnf install screen
2. 创建新的 screen 会话
启动一个新的 screen 会话:
screen -S 会话名
例如:
screen -S download
这会创建一个名为 “download” 的会话,进入后可以正常执行命令。
3. 分离当前 screen 会话
在会话运行过程中,按下以下组合键从当前会话分离(后台继续运行):
Ctrl + A,然后按 D
此时你会回到原始终端,而 screen 中的程序仍在后台运行。
4. 查看所有正在运行的 screen 会话
使用命令查看当前存在的会话:
screen -ls
输出示例:
There are screens on:
12345.download (Detached)
67890.backup (Detached)
5. 恢复已分离的 screen 会话
重新连接到指定会话:
screen -r 会话名 或 PID
例如:
screen -r download 或 screen -r 12345
如果会话处于“Attached”状态(已在其他地方连接),可先强制解除再连接:
screen -d -r 会话名
6. 在 screen 中创建多个窗口
在同一个 screen 会话内,可以创建多个窗口来运行不同任务:
- Ctrl + A,然后按 C:创建新窗口
- Ctrl + A,然后按 N:切换到下一个窗口
- Ctrl + A,然后按 P:切换到上一个窗口
- Ctrl + A,然后按 ” 或 “>”:列出所有窗口并选择
7. 给窗口命名以便识别
创建窗口后可为其命名:
Ctrl + A,然后按 A,输入新名称
或在创建时直接命名:
Ctrl + A, :title 名称
8. 结束 screen 会话
在 screen 会话中输入 exit 或按下 Ctrl + D 可关闭当前窗口。当所有窗口都关闭后,整个会话结束。 也可在外部终止某个会话:
screen -S 会话名 -X quit
9. 日志记录功能
可在 screen 中开启日志,记录终端输出:
Ctrl + A, :logfile /path/to/logfile 设置日志路径
Ctrl + A, :log on 开启记录
10. 常见问题处理
若出现 “Cannot open your terminal” 错误,可能是权限问题,尝试:
script /dev/NULL
然后再运行 screen -r。 基本上就这些。掌握 screen 能显著提升远程操作效率,尤其适合维护长期任务。
评论(已关闭)
评论已关闭