转自:恋猫大鲤鱼
dablelv.blog.csdn.net/article/details/70175532
1. 命令简介
screen 是GNU开发的终端会话管理工具,可以新建和管理多个会话终端,并提供切换,分离,挂载等相应的功能。
每个终端会话可以创建1--10个窗口。
其特点是,终端断开连接后,screen中创建的终端会话中的任务会在后台中继续运行,不回因为终端窗口的关闭或者断开连接而中止。
2. 命令格式
screen [options] [cmd [ARGS] ] screen -r [ [PID.] TTY [.HOST] ] screen -r SESSIONOWNER/[ [PID.]TTY[.HOST]]
3. 选项说明
-A 将所有窗口都调整为目前终端机的大小 -d, -D [PID.TTY.HOST] 分离指定的screen会话 -h NUM 将历史记录回滚缓冲区指定为 NUM 行 -m 即使目前处于screen会话,仍强制建立新的 screen 会话 -r [PID.TTY.HOST] -r SESSIONOWNER/[PID.TTY.HOST] 恢复离线的 screen 会话 -R 先试图恢复离线的会话,若找不到离线的会话,再建立新的 screen 会话 -s PROGRAM 指定建立新窗口时所要执行的Shell, 用以取代环境变量 SHELL 表示的 Shell -S SESSIONNAME 创建一个指定名称的新 session -v 显示版本信息 -x 恢复之前离线的 screen 会话 -ls, --list 显示目前所有的 screen 会话 -wipe [MATCH] 检查目前所有的 screen 会话,并删除已经无法使用的 screen 会话
4. 常用示例
screen -S your_name: 新建一个叫 your_name 的session screen -ls: 列出当前所有的 screen session, 注意显示的 screen 会话的命名格式是 pid.name screen -r your_name: 回到 your_name 这个 session screen -d your_name: detach 某个 session screen -d -r your_name: 分离已经连接的 session,重新回到 your_name exit: 关闭当前窗口,并且切换到下一个窗口(当退出最后一个窗口时,该screen会话自动终止,并且退回到原始 Shell 状态)
当进入一个 screen 会话中,才可以切换窗口,在每个 screen session 下,所有的快捷键都以 Ctrl + a 开始。常用快捷键如下:
ctrl + a + c: 创建一个新的运行 shell 窗口并切换到该窗口 ctrl + a + n(大概 next 的意思): 切换到下一个 window ctrl + a + p (大概preview的意思): 切换到前一个 window ctrl + a + 0..9: 切换到第 0..9个window ctrl + a + d: 分离当前 screen 会话,即退出当前screen 会话, ctrl + a : 在两个最近使用的 window 之间切换 ctrl + a + x: 锁住当前的window,需要用用户密码解锁 ctrl + a + w: 显示所有窗口列表 ctrl + a + k: kill window, 强行关闭当前 window
其他:
...