linux 显示用法,linux screen 用法总结

是不是经常需要 SSH 或者 telent 远程登录到 Linux 服务器?你是不是经常为一些长时间运行的任务而头疼,比如系统备份、ftp

传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为他们执行的时间太长了。必须等待它执行完毕,在此期间可不能关掉窗口或者断开连

接,否则这个任务就会被杀掉,一切半途而废了。

或者我们起一个服务,比如说esmi,会有终端输出,只有在启动程序的那个终端才能看到终端输出,这个终端不可能永远不关掉,以后再要看输出就没办法了。用nohup?

还有些登录工具不支持标签窗口,同一台服务器上执行多个任务时就不得不打开多个窗口,到后面窗口一多自己都找不到哪个窗口在干什么了。

试试看screen吧,一定会有惊喜。

单来说,Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。Screen中有会话的概念,用户可以在一个screen会话中创建多

个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。在使用过程中可以退出screen,甚至可以关掉

登录窗口,下次再进去重新挂上screen会话,所有工作全部都会恢复。

举个例子,登录进服务器后,在screen会话里启动esmi,退出会话后,甚至关掉登录窗口后,下次再要看esmi的输出,只要重新挂上原先的screen会话,那所有终端输出又都能看到了。

启动screen的方法,很简单,直接用screen命令就可以。

这样就启动了一个screen的窗口,你可以随意执行shell命令,就像你在一个真正的shell环境里一样。

之后你如果打exit,就会直接退出screen,注意,这是真正的退出,如果你希望重新回到这个scren窗口,那在退出时就不能直接exit,要用Ctrl-a d,就是按住Ctrl,再按a,然后再单独按d。

过一会儿你想再回到刚刚的screen窗口,用命令screen -ls

$ screen -lsThere is a screen on:        15112.pts-5.test205     (Detached)1 Socket in /tmp/uscreens/S-zhulp.

如果只有一个screen会话,那就直接用screen -r恢复,试试看,刚刚退出前的窗口就又出现了。

如果你在退出screen后,又另外打开了一个screen会话,那用screen -ls时就会出现多个会话显示

$ screen -lsThere are screens on:        16466.pts-23.test205    (Detached)        15112.pts-5.test205     (Detached)2 Sockets in /tmp/uscreens/S-zhulp

这时就需要指定screen的会话ID来进入到不同的会话,像这样:

$ screen -r 16466

有的时候,特别是网络不稳定的时候,连接会被中断,不用担心,screen上的环境都还在,不过有可能你会发现用screen -ls时的显示是这样的:

$ screen -lsThere is a screen on:        16466.pts-23.test205    (Attached)1 Socket in /tmp/uscreens/S-zhulp.

这时用screen -r 会显示

$ screen -rThere is a screen on:        16466.pts-23.test205    (Attached)There is no screen to be resumed.

这时可以用screen -x挂回去,用这个命令可以多个窗口同时显示同一份内容,也就是说在多个窗口用screen -x,那这两个窗口就同时都能控制该会话。

的时候挂到screen会话后可能希望看到历史输出,用滚动条是不行的,screen提供了Ctrl-a

[命令,这时会进入到复制模式,你可以用方向键或者翻页键很方便的在历史输出中移动,同时,因为前面说了,是进入到复制模式,你可以用回车,设置复制的开

始点,然后再按一次回车设置复制的结束点,同时会退出复制模式,这时用Ctrl-a

]命令,可以把前面选择的内容粘贴到当前screen窗口。翻历史输出时可以用g移动到历史缓冲区首,用G移动到历史缓冲区尾,方便吧?

screen还有另外一个很强大的功能,多窗口管理。

进入到screen后,按Ctrl-a c,就创建了一个全新的窗口,你可以用Ctrl-a Ctrl-a切换回之前的窗口,也可以用Ctrl-a "显示窗口列表,用方向箭选择后按回车切换,为了方便记忆,你还可以用Ctrl-a A命令给窗口改名字,试试看。

Screen主要耗时较长的操作,如编译程序,如果不用screen,在编译过程中,如果断开ssh,编译也会中断。但是使用screen,就相当于后台任务,即使中断ssh,编译还是继续执行。

本文只介绍screen的常用操作。

安装screen:(以centos为例,debian系的就用apt)

yum install screen

在执行耗时操作时,先打开screen会话。

screen -S 会话名

会话名,是为这个screen会话定义一个名字,方便下次回到这个会话,当然,也可以直接执行screen,不加任何参数,通过会话id来回到这个会话。

启动新的screen会话后,执行你需要的操作。

退出当前screen会话:

exit

把会话隐藏到后台:

按ctrl+a+d

获取所有会话列表:

screen -ls

screen    进入screen模式

C-a c    在当前screen下建立新的窗口

exit    退出当前窗口,如果它是此screen的唯一窗口时,此screen也将完全退出。

C-a d     暂时断开screen会话

screen -ls    查看有哪些screen。

screen -r id 打开编号为id的screen窗口。

C-a w    显示所有窗口列表

C-a n    切换到下一个窗口

C-a p    切换到前一个窗口(与C-a n相对)

这个命令会返回所有会话的id以及会话名

进入之前的screen会话(如果已经在该会话里,就进不去了):

screen -r 会话id或会话名

Linuxscreen命令用于多重视窗管理程序,可以在与终端断开连接之后后台继续运行程序。使用screen命令的基本用法是创建一个会话,可以通过命令"screen -S session_name"来创建一个会话,其中session_name是会话的名称。\[1\]创建会话后,会进入Screen的世界,可以在会话中执行各种命令或打开程序。可以通过在screen命令后加入参数来直接打开指定的程序。\[2\]此外,GNU Screen还提供了丰富强大的定制功能,可以在配置文件/etc/screenrc和$HOME/.screenrc中指定更多选项,如设定screen选项、定制绑定键、设定会话自启动窗口、启用多用户模式等。也可以自己指定screen配置文件。\[3\] #### 引用[.reference_title] - *1* [linux screen 命令的使用教程](https://blog.csdn.net/m0_37772653/article/details/124287138)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Linuxscreen的使用](https://blog.csdn.net/weixin_43570155/article/details/121845415)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值