Linux screen命令用于多重视窗管理程序。
所谓的视窗,是指一个全屏幕的文字模式画面。
通常只有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen程序。
语法
screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]
- 参数说明:
`-A`: 将所有的视窗都调整为目前终端机的大小。
`-d<作业名称>`: 将指定的screen作业离线。
`-h<行数>`: 指定视窗的缓冲区行数。
`-m`: 即使目前已在作业中的screen作业,仍强制建立新的screen作业。
`-r<作业名称>`: 恢复离线的screen作业。
`-R`: 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
`-s<shell>`: 指定建立新视窗时,所要执行的shell。
`-S<作业名称>`: 指定screen作业的名称。
`-v`: 显示版本信息。
`-x`: 恢复之前离线的screen作业。
`-ls`或`--list`: 显示目前所有的screen作业。
`-wipe`: 检查目前所有的screen作业,并删除已经无法使用的screen作业。
禁止screen建立新窗口时更改窗口尺寸
在/etc/screenrc
或~/.screenrc
中添加
cat > /etc/screenrc < EOF
termcapinfo xterm* 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
EOF
常用命令
screen -S test #创建一个名为test的会话
screen -ls #列出所有会话
screen -d test #卸载名为test的会话,但会话中的任务会继续执行。
screen -r test #恢复名为test的会话
exit #退出当前窗口
常用快捷键
`Ctrl+a c` : 在当前screen会话中创建窗口
`Ctrl+a d` : 效果与screen -d相同,卸载当前会话
`Ctrl+a w` : 显示当前会话中的窗口列表,显示在标题栏中
`Ctrl+a n` : 切换到下一个窗口
`Ctrl+a p` : 切换到上一个窗口
`Ctrl+a 0-9` : 在第0个窗口和第9个窗口之间切换
实例
# 创建 screen 终端 ,并执行 vi test命令
screen vi test
# 离开 screen 终端
在 screen 终端 下 按下 `Ctrl+a d`键
# 重新连接离开的 screen 终端
screen -ls # 显示已创建的screen终端
screen -r 2276 #连接 screen_id 为 2276 的 screen终端