• 【转】linux screen 的使用 教程


    转自:


    我能够使用如下的方法开始一个叫做“radiostation”的screen对话:

      tmancill@ghostrider:~$ screen -S radiostation

      (此时出现一个空白的screen)

      tmancill@ghostrider:~$ mp3blaster

      (载入我的播放列表,然后按下play开始发射)

      (按下“CTRL-a”,然后按下“d”离开)


    默认会启动一个screen进程,读取/etc/scrennrc配置文件,~/.screenrc配置文件(如果有的话)

    3.screen后面可以带的参数:
    -c file: override默认的配置文件$HOME/.screenrc

    -d [pid.tty.host]:断开screen进程(使用该命令时,screen的状态一定要是Attached,也就是说有用户连在screen 里)。一般进程的名字是以pid.tty.host这种形式表示(用screen -list命令可以看出状态)。

    -D [pid.tty.host]:与-d命令实现一样的功能,区别就是如果执行成功,会踢掉原来在screen里的用户并让他logout。

    -r [pid.]tty.host:连上一个断开的screen进程,如果有多个断开的进程,需要指定[pid.]tty.host,常用命令

    -d -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户再连接。

    -D -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户并让他logout再连接

    -ls或者-list:显示存在的screen进程,常用命令

    -m:如果在一个Screen进程里,用快捷键crtl+a c或者直接打screen可以创建一个新窗口,screen -m可以新建一个screen进程。

    -dm:新建一个screen,并默认是detached模式,也就是建好之后不会连上去。

    -p number or name:预先选择一个窗口。
    例如:如果现在有一个Screen进程,并且是dettached


    4.在screen中的操作:

    (C-a c命令指的是按下Crtl+a,然后松开,在按下c)

    C-a “:显示Screen里的所有窗口,并可以进行选择。最常用命令

    C-a c:创建新窗口,常用命令

    C-a num:切换至num号窗口。窗口名一般是0-9(我这个版本最多支持创建40个窗口,C-a “命令就可以看到窗口号,在最左边)

    C-a A:为当前窗口设定一个标题,常用命令

    C-a d:断开一个screen的进程,常用命令

    C-a D D:断开一个screen的进程并且logout

    C-a K:删除当前的窗口,常用命令

    C-a C-x:锁住终端

    C-a C-z:挂起终端,也就是可以用jobs,fg之类的命令管理

    C-a Z:重置终端至刚启动时的状态

    ---------------------------------------------------------------------------------------------------------

    一个 screen 简单教程
    又一个 screen 简单教程
    ======================


    screen 是一个特殊的模拟终端软件,利用它能在一个终端窗口里模拟出多个终端,
    并且能分割窗口、类似 VI 的方式搜索和拷贝屏幕输出,最重要的是利用
    screen,可以让任务后台执行,退出系统,下次登录恢复后跟以前状态一样。


    1) 运行

    执行 screen 命令就是新开一个 screen 会话,其它常用命令:

    列举当前存在的 screen 会话
    $ screen -ls
    [2]dieken@tsg:~$ screen -ls
    There is a screen on:
    12212.pts-24.tsg (Detached)
    1 Socket in /var/run/screen/S-dieken.

    括号中的 Detached 表示这个会话在后台运行,用 screen -R 恢复它。
    如果有多个 Detached 的会话,则用 screen -R 12212 恢复它;如果突然
    掉线导致那个会话还处于 Attached 状态,则用 screen -dR 12212 恢复。


    2) 退出
    screen 内会执行 shell,退出所有 shell 后 screen 就退出了,或者
    在 screen 里头按 Ctrl-a d 来 detach 这个 screen 会话,以后就能
    用 screen -R 恢复这个会话。


    3) 帮助:
    Ctrl-a ? 或者 man screen


    4) 窗口操作:
    Ctrl-a c 开新窗口(退出里头的 shell 比如用 exit 或者 ctrl-d 则退出此窗口)
    Ctrl-a Ctrl-a 切换窗口
    Ctrl-a 0 到 9 直接切换到某个窗口,窗口编号能用 Ctrl-a " 看到,这个命令
    会列出所有窗口,按上下方向键或者类似 vi 的 hj,高亮然后回车选择


    5) 窗口分割,可以利用这个功能一边编辑一边查看编译结果。
    Ctrl-a S 分割窗口
    Ctrl-a j 切换到下一个窗口
    Ctrl-a k 切换到上一个窗口
    Ctrl-a b 切换到最底下的窗口
    Ctrl-a t 切换到最顶上的窗口
    然后用 4 中的切换操作让新分割出来的窗口显示内容

    Ctrl-a X 关闭当前窗口(关闭的只是分割出来的窗口,并不是 4 中新建的窗口)


    6) 记录屏幕输出
    Ctrl-a H 类似 script 程序,记录屏幕上显示的内容,再按此快捷键停止记录。


    7) 回滚、搜索、拷贝屏幕输出
    Ctrl-a ESC 或者 Ctrl-a [ 进入回滚、拷贝模式

    进去此模式后就可以用 vi 的命令移动光标:h, j, k, l, 0, ^, $, H, M, L,
    G, |, w, b, e, B, E, Ctrl-u, Ctrl-d, Ctrl-b, Ctrl-f, g, %

    拷贝:在起始点和终点各按一次空格键,这就拷贝了高亮文字并退出回滚、拷贝
    模式,进入正常模式,用 Ctrl-a ] 就可以粘贴。

    搜索:类似 vi 的 / 和 ? 命令,或者 Emacs 的 C-a s 和 C-r 命令


    8) 锁住 screen
    Ctrl-a x 需要输入密码才能继续使用


    9) 配置,screen 默认用 Ctrl-a 作为快捷键前缀,这跟命令行编辑的 Ctrl-a 跳到
    行首冲突,因此可以在 ~/.screenrc 里配置为 Ctrl-j:
    defescape ^Jj
    escape ^Jj

    建议在 ~/.bashrc 中设置 PS1 的后面一行加入
    PS1="\\n[\$SHLVL]$PS1"
    这句,这样能容易看出当前的 shell 是否嵌套在其它 shell 里运行的。


    我的配置文件,从 jetspeed 的抄的,有两行太长了所以加了行号,使用的
    时候记得去掉:

    1 vbell off
    2 defescape ^Jj
    3 escape ^Jj
    4
    5 startup_message off
    6
    7 # define a bigger scrollback, default is 100 lines, I like large
    scrollback
    8 defscrollback 2048
    9
    10 # An alternative hardstatus to display a bar at the bottom listing the
    11 # windownames and highlighting the current windowname in blue. (This is
    only
    12 # enabled if there is no hardstatus setting for your terminal)
    13 hardstatus on
    14 hardstatus alwayslastline
    15 hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d
    %C%a "
    16
    17 # another way to show window list
    18 #caption always "%?%F%{-b 4w}%:%{-b bb}%? %H | %l | %m-%d %c |%?%F%{-b
    4w}%?%L=%-Lw%45>%{-b w4}%n%f* %t%{-}%+Lw%-0<"
    19
    20 # key bingdings
    21 # remove some stupid/dangerous key bindings
    22 bind k
    23 bind ^k
    24 bind .
    25 bind ^\
    26 bind \\
    27 bind ^h
    28 bind h
    29 bind l windowlist
    30 bindkey ^[, prev
    31 bindkey ^[. next
    32
    33 # some useful keys for resizing
    34 bind = resize =
    35 bind + resize +1
    36 bind - resize -1
    37 bind _ resize max
    38
    39 # bind some keys for moving between split windows
    40 bind j focus down
    41 bind k focus up
    42 bind t focus top
    43 bind b focus bottom
    44
     
  • 相关阅读:
    Vue.js $nextTick
    JS---函数名和变量名重名
    for循环中嵌套setTimeout,执行顺序和结果该如何理解?
    Rocket MQ整体简介
    ant Desgn Pro Vue 修改 title
    STS插件创建springboot项目,pom第一行报unkown错误
    c# 读取二进制文件并转换为 16 进制显示
    c# Winform 调用可执行 exe 文件
    按字节读取txt文件缓存区大小设置多少比较好?
    天翼云服务开放端口
  • 原文地址:https://www.cnblogs.com/fzzl/p/2114414.html
Copyright © 2020-2023  润新知