• linux 命令(1)screen


    一.screen的安装和用法

    Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器,这意味着你能够使用一个单一的终端窗口运行多终端的应用。 Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的 telnet/SSH连接窗口那样。

    通俗的讲,screen命令用于新建一个或多个“命令行窗口”,在新建的这“窗口”中,可以执行命令;每个“窗口”都是独立并行的。



    安装方法:
    在线安装:

    CentOS/Red Hat: yum install screen
    Debian/Ubuntu:       apt-get install screen
     
    源码编译安装:
    [root@host1 src]# wget ftp://ftp.gnu.org/pub/gnu/screen/screen-4.0.3.tar.gz
    [root@host1 src]# tar -zxvf screen-4.0.3.tar.gz
    [root@host1 src]# cd screen-4.0.3
    [root@host1 screen-4.0.2]# ./configure
    [root@host1 screen-4.0.2]# make
    [root@host1 screen-4.0.2]# make install
    [root@host1 screen-4.0.2]# install -m 644 etc/etcscreenrc /etc/screenrc
    [root@host1 screen-4.0.2]# cp ./screen /bin
    注意和一般程序的安装过程有所不同,后面这两条指令一定要执行。 

    screen的配置文件,一般在 /etc/screenrc 或者 ~/.screenrc,可以在文件里更改参数设定,也可以通过参数传递或者命令来动态指定。

    语  法:


    screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]

    补充说明:

    screen为多重视窗管理程序。此处所谓的视窗,是指一个全屏幕的文字模式画面。通常只有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen程序。

    参  数:

    -A  将所有的视窗都调整为目前终端机的大小。
    -d <作业名称>  将指定的screen作业离线。
    -h <行数>  指定视窗的缓冲区行数。
    -m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。
    -r <作业名称>  恢复离线的screen作业。
    -R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
    -s  指定建立新视窗时,所要执行的shell。
    -S <作业名称>  指定screen作业的名称。
    -v  显示版本信息。
    -x  恢复之前离线的screen作业。
    -ls或--list  显示目前所有的screen作业。
    -wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。

    常用screen参数:

    screen -S yourname -> 新建一个叫yourname的session
    screen -ls -> 列出当前所有的session
    screen -r yourname -> 回到yourname这个session
    screen -d yourname -> 远程detach某个session
    screen -d -r yourname -> 结束当前session并回到yourname这个session

    在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始。退出screen使用 exit
    例:Ctrl+a,d(按住Ctrl 然后按a 放开a 按d)

    C-a ? -> Help,显示简单说明
    C-a c -> Create,开启新的 window
    C-a n -> Next,切换到下个 window 
    C-a p -> Previous,前一个 window 
    C-a 0..9 -> 切换到第 0..9 个window
    Ctrl+a [Space] -> 由視窗0循序換到視窗9
    C-a C-a -> 在两个最近使用的 window 间切换 
    C-a x -> 锁住当前的 window,需用用户密码解锁
    C-a d -> detach,暂时离开当前session,将目前的 screen session (可能含有多个 windows) 丢到后台执行,并会回到还没进 screen 时的状态,此时在 screen session 里    每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。 
    C-a z -> 把当前session放到后台执行,用 shell 的 fg 命令則可回去。
    C-a w -> Windows,列出已开启的 windows 有那些 
    C-a t -> Time,显示当前时间,和系统的 load 
    C-a K -> kill window,强行关闭当前的 window

    screen可以同步显示你的屏幕给另一个会话。这在给别人处理问题是尤为好用,可以让对方同步看到你的操作。
    双方同时登陆一台主机,演示方输入  screen -S example,观看方输入 screen -x example,即可同步显示演示方输入的内容

    大 家在初次接触linuxVPS时,会发现linux操作和windows操作太不相同的,windows都是图形操作界面,而linux一般是命令行操 作,当然,linux也有图形操作界面,但是我们在将vps作为网络生产环境时,安装图形界面不光费时费力,更费vps那少的可怜的系统资源,所以,还是 命令行吧,可是命令行只有一个,linux下编译命令一般执行也比较慢,如编译军哥的lnmp,少则半小时二十分钟,多则三小时五小时,一旦断开,正在编 译的软件也就完了,这很不符合偶们的折腾精神,难道就木有个解决方法?当然有,那就是screen。


    二、简单举例


    1. 创建会话:最简单的就是直接输入screen回车,一个新会话就完成了(debian下会有提示,再按一次回车就可以了),但偶还是推荐用下面的命令来创建会话:


    screen -S php


    上面命令的意思就是新创建一个名为php的会话,这时你可以继续输入其它命令,如编译php,费时很长,不用管它,喝杯茶先;


    3. 离开会话,按住键盘上的ctrl,然后依次按a和d,好了,又回到主会话了,这时你可以继续创建其它会话或者执行其它命令,对我们创建的会话内容没有任何影响,你甚至可以退出会话;


    3. 恢复创建的会话:如果还记得会话名称,可以输入命令:


    screen -r php


    上面命令的意思就是恢复名为php的会话,如果你只创建了一个会话,直接如入命令


    screen -r


    就可以恢复了,如果不记得会话名称或者我直接输入screen创建的会话,怎么办呢,那就要用到下面的命令;


    4. 查看已经创建的会话:


    screen -ls


    上面的命令的意思就是查看本机已经创建的会话,可以查看会话的名称和id,恢复时可以使用id代替名称;


    5. 有时在恢复screen时会出现There is no screen to be resumed matching ****,遇到这种情况咋办呢?输入命令


    screen -d ****


    然后再使用恢复命令恢复就ok了


    6. 退出screen,使用screen会耗费一定的系统资源,所以当screen中的命令执行完毕之后,最好退出screen,直接输入命令


    exit


    就可以退出了。


    7. 其它命令


    Ctrl + a,d       #暂离当前会话

    Ctrl + a,c        #在当前screen会话中创建一个子会话 

    Ctrl + a,w       #子会话列表 

    Ctrl + a,p       #上一个子会话 

    Ctrl + a,n       #下一个子会话 

    Ctrl + a,0-9   #在第0窗口至第9子会话间切换
  • 相关阅读:
    silverlight的TranslateTransform 的使用
    720 JavaScript函数的this指向
    JavaScript数组
    JavaScriptDOM事件
    JavaScript流程控制语句
    CSS布局案例
    JavaScriptDOM基础
    JavaScriptDOM事件
    JavaScript基础语法
    JavaScript的String对象相关方法
  • 原文地址:https://www.cnblogs.com/lovychen/p/5154533.html
Copyright © 2020-2023  润新知