常用screen命令

在linux远程会话的时候,使用screen可以很方便地进行会话管理而不需要担心ssh断开后程序停止运行。
常用screen命令:

screen		#新建一个screen会话
screen vi test.sh   #新建一个运行vi test.sh的screen会话,退出vi会自动退出该会话
screen -S <screen_name>		#新建一个名为<screen_name>的screen会话
screen -ls			#列出当前所有screen会话
screen -r <screen_pid> #恢复id为<screen_pid>的会话
screen -r <screen_name> #恢复名称为<screen_name>的会话
screen -d <screen_name> #断开名称为<screen_name>的会话,但是会话的任务会继续执行
screen -d    #断开当前的会话,但是会话的任务会继续执行
exit     #退出并关闭会话

给screen发送命令使用了特殊的键组合C-a。这是因为我们在键盘上键入的信息是直接发送给当前screen窗口,必须用其他方式向screen窗口管理器发出命令,默认情况下,screen接收以C-a开始的命令。这种命令形式在screen中叫做键绑定(key binding),C-a叫做命令字符(command character)。

可以通过C-a ?来查看所有的键绑定,常用的键绑定有:

C-a ?	#显示所有键绑定信息
C-a w	#显示所有窗口列表
C-a C-a	#切换到之前显示的窗口
C-a c	#创建一个新的运行shell的窗口并切换到该窗口
C-a n	#切换到下一个窗口
C-a p	#切换到前一个窗口(与C-a n相对)
C-a 0..9	#切换到窗口0..9
C-a a	#发送 C-a到当前窗口
C-a A   #给窗口起名字
C-a d	#暂时断开screen会话
C-a C-d #同上
C-a k	#杀掉当前窗口
C-a [	#进入拷贝/回滚模式

如果你习惯用快捷键C-a来跳转到行首,会和默认的screen键绑定冲突,可以自定义键绑定。Screen允许你使用-e选项设置自己的命令字符和转义字符,其格式为:
-exy x为命令字符,y为转义命令字符的字符

下面命令启动的screen会话指定了命令字符为C-t,转义C-t的字符为t,通过C-t ?命令可以看到该变化。
# screen -e^tt
#screen -S myscreen -e^tt
其他常用的命令选项有:

-c file	#使用配置文件file,而不使用默认的$HOME/.screenrc
-d|-D [pid.tty.host]	#不开启新的screen会话,而是断开其他正在运行的screen会话
-h num	#指定历史回滚缓冲区大小为num行
-list|-ls	#列出现有screen会话,格式为pid.tty.host
-d -m	#启动一个开始就处于断开模式的会话
-r sessionowner/ [pid.tty.host]	#重新连接一个断开的会话。多用户模式下连接到其他用户screen会话需要指定sessionowner,需要setuid-root权限
-S sessionname	#创建screen会话时为会话指定一个名字
-v	#显示screen版本信息
-wipe [match]	#同-list,但删掉那些无法连接的会话

参考文献:
Linux Screen超简明教程

发布了227 篇原创文章 · 获赞 148 · 访问量 34万+

猜你喜欢

转载自blog.csdn.net/toopoo/article/details/104933512