screen 常用命令

走远了吗. 提交于 2019-11-29 19:35:28

       偶然知道了screen命令,有时候putty连接服务器,当数据量较大,运行时间较长时,直接跑命令,窗口或许异常终止,不得不重新跑,还是学下screen命令吧。可以使用Linux下的screen命令,即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。

常用:

1、安装screen:yum install -y screen 

2、运行screen -ls可以看到现有的screen的会话。

3、在screen里运行我们需要的脚本,那么运行完后怎么回到原来的命令行呢(暂时离开,保留screen会话中的任务或程序)?先按CTRL+a,然后再按d。这个就是dettach的意思啦,离开screen的session。

4、恢复screen会话

当回来时可以再执行执行:screen -r lnmp 即可恢复到离开前创建的lnmp会话的工作界面。如果忘记了,或者当时没有指定会话名,可以执行:screen -ls screen会列出当前存在的会话列表,

5、怎么回到这个screen的会话中呢?运行screen -r <session name>

6、分屏: Screen分屏,有的时候我们需要边观察一个命令的输出边执行一些操作,开两个CLI是一种解决方式,用screen分屏的功能也能做到。

      a、首先在screen的session中按CTRL+a,X,这个时候就会出现第二个屏。

      b、然后按CTRL+a,tab可以在两个屏幕之间自由切换。

      c、切换到下个屏幕后,没有命令输入的提示符啊,怎么建立呢?按CTRL+a c

7、可以在detach的模式下跑screen的命令,我经常用这个命令去在后台持续抓包。

就是在主tty中,运行 screen -dm <你要跑的命令>

看下图,我运行screen -dm tcpdump,然后再去查看screen的 session时,发现多了一个,但是我并没有进入screen的会话中,也就是并没有attach进去。

8、kill掉一个screen

(1)、使用screen名字,kill掉。

      screen -S session_name -X quit

(2)、激活screen:

     screen -r session_name

     并利用exit退出并kiil掉session。

9、关闭screen的会话     执行:exit ,会提示:[screen is terminating],表示已经成功退出screen会话。

10、远程演示

首先演示者先在服务器上执行 screen -S test 创建一个screen会话,观众可以链接到远程服务器上执行screen -x test 观众屏幕上就会出现和演示者同步。

11、常用快捷键

Ctrl+a c :在当前screen会话中创建窗口
Ctrl+a w :窗口列表
Ctrl+a n :下一个窗口
Ctrl+a p :上一个窗口
Ctrl+a 0-9 :在第0个窗口和第9个窗口之间切换

12、创建一个新窗口     screen -S name    敲击screen直接启动screen,使用这条命令可以为screen起一个名字

13、清楚dead会话,若因为某一个原因其中一个会话死掉,这时screen -list会显示该会话成为dead状态,使用screen -wipe命令清楚该会话

14、用 screen -ls, 显式当前状态为Attached, 但当前没有用户登陆些会话。screen此时正常状态应该为(Detached)

此时用screen -r <session-id>,怎么也登不上。最后找到解决方法:screen -D  -r <session-id>

-D -r  先踢掉前一用户,再登陆。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!