• screen命令


    screen命令

    原文链接

    screen其实就是linux虚拟终端,你可以用它创建很多虚拟终端,每个终端可以创建1~10个窗口,每个窗口相当于一个linux shell窗口,可以执行的操作和正常shell完全一样。
        
    【终端操作】 (需要在物理shell中操作)
    screen:创建一个虚拟终端并且登录之
    screen -ls:列出当前所有虚拟终端
    screen [-d] -r sessionid:进入指定的虚拟终端


    【终端中的窗口操作】(挂载某个终端)
    Ctrl-a c         新建 bash screen 终端
    Ctrl-a "         列出
    Ctrl-a A         重命名
    Ctrl-a n         在当前窗口中切换到下一个 screen 终端
    Ctrl-a p         在当前窗口中切换到上一个 screen 终端    
    Ctrl-a 空格      窗口切换
    Ctrl+a w :窗口列表
    Ctrl+a 0-9 :在第0个窗口和第9个窗口之间切换
    Ctrl+a K(大写) :关闭当前窗口,并且切换到下一个窗口(当退出最后一个窗口时,该终端自动终止,并且退回到原始shell状态)
    exit :关闭当前窗口,并且切换到下一个窗口(当退出最后一个窗口时,该终端自动终止,并且退回到原始shell状态)

    Ctrl-a d         断开所有 screen 终端,返回 screen 执行前状态,但 screen 内所有终端的任务都在执行
    screen -ls     列出当前用户的所有 screen 实例,包括联接和断开的
    screen -R <pid>    重新联接到已断开的 screen 实例,如果有多个已断开的 screen 实例,则用 <pid> 区分

    Ctrl-a S         新建水平分割窗口
    Ctrl-a Tab     切换窗口
    Ctrl-a X         关闭当前窗口
    Ctrl-a +         扩大当前窗口,默认增加3行
    Ctrl-a -         缩小当前窗口,默认减小3行

    Ctrl-a :screen <command>    新建 screen 终端,并运行命令<command>
    Ctrl-a :resize <height>    改变当前窗口高度为<height>
    Ctrl-a :quit              退出 screen,将关闭所有 screen 终端,结束其中所有任务

    Ctrl-a <Esc>        进入选择模式
    <PageUp> 或 Ctrl-u      光标上移一页
    <PageDown> 或 Ctrl-d    光标下移一页    
    <Left>  或 h        光标左移一格
    <Down> 或 j         光标下移一行
    <Up> 或 k           光标上移一行
    <Right> 或 l        光标右移一格
    <Space>             选择开始,选择结束
    <Esc>               退出选择模式

    Ctrl-a ]             粘贴选择的内容



    【友情提醒】
     


    .screenrc,仅供参考。

    #
    # ~/.screenrc
    #

    # 启动时不显示欢迎屏幕
    startup_message off

    # 定义screen的功能键为Ctrl-Z。向终端输入Ctrl-Z时应按 Ctrl-Z z。
    escape ^Zz

    # 屏幕缓冲区 1024 行。
    defscrollback 1024

    # 在最下一行显示窗口列表和时钟
    hardstatus on
    hardstatus alwayslastline
    hardstatus string "%{.bW}%-w%{.rY}%n %t%{-}%+w %=%{..G} %H(%l) %{..Y} %Y/%m/%d %c:%s "

    # 关闭错误提示
    vbell off

    # 按 Ctrl-Z w 或 Ctrl-Z Ctrl-W 显示窗口列表
    bind w windowlist -b

    常用快捷键

    注:这些快捷键都需要在按完 escape 键之后使用。默认的escape键是 Ctrl-A,上面贴出的 .screenrc 中将其改成了 Ctrl-Z。例如 d,实际操作时应当按 Ctrl-Z d。

    快捷键 功能
    d 中断当前会话,下次可以用 screen -r 命令恢复
    c 开新窗口
    0-9数字 在窗口0-窗口9之间迅速切换
    n 下一个窗口
    p 上一个窗口
    S 分割屏幕
    TAB 在分割的屏幕之间切换
    X 关闭分割出的屏幕
    [ 进入复制模式,用hjkl移动光标,空格选中开始点,再次按空格选择结束点,进行复制
    ] 粘贴
    ? 帮助
    : 进入screen的命令行

    另外要提到的几个常用技巧

    1. 重复 escape 键可以在当前窗口与上一个窗口之间迅速切换。例如从窗口1按^Z3切换到窗口3,之后可以按^Z^Z在窗口1和3之间切换。
    2. 窗口分割的用法:首先按^ZS(S要大写)进行分割,然后用^Z<TAB>切换到分割出的新屏幕,再用^Z<数字>在新屏幕内切换窗口。结束分割可以用^ZX。
    3. 翻页:用了screen之后就不能用平常的 Shift-PageUp 和 Shift-PageDown 来翻页。可以按 ^Z[ 进入复制模式,即可利用与 vi 相同的快捷键来翻页查看历史。最后按Esc取消复制模式。

    关于 escape 键的选择

    默认的Ctrl-A与vi的增1功能冲突。如果你不幸习惯了Ctrl-A,那么当你在没有screen的环境下使用vim时,你会在不经意之间按下Ctrl-A而改变附近的数字。因此最好改成别的键。

    常用的screen快捷键都在左手,因此escape应当放在键盘的左面三列。Ctrl-Q和Ctrl-S被终端使用无法绑定,Ctrl-` screen不支持,Ctrl-W与vim的切换窗口命令冲突,Ctrl-D与vim的翻页冲突, Ctrl-X与vim的减1功能冲突,Ctrl-E与vim的滚屏冲突,Ctrl-C为很常用的中止程序。因此只能用Ctrl-Z了。Ctrl-Z用于暂 停程序,不常用,可以将其设置为screen的escape键。需要暂停程序时按 Ctrl-Z z 即可。

  • 相关阅读:
    Compression algorithm (deflate)
    tcpip数据包编码解析(chunk and gzip)_space of Jialy_百度空间
    What's the difference between the "gzip" and "deflate" HTTP 1.1 encodings?
    gzip压缩算法: gzip 所使用压缩算法的基本原理
    Decompressing a GZip Stream with Zlib
    Frequently Asked Questions about zlib
    how to decompress gzip stream with zlib
    自己动手写web服务器四(web服务器是如何通过压缩数据,web服务器的gzip模块的实现)
    What's the difference between the "gzip" and "deflate" HTTP 1.1 encodings?
    C语言抓http gzip包并解压 失败 C/C++ ChinaUnix.net
  • 原文地址:https://www.cnblogs.com/edwardsun/p/3740920.html
Copyright © 2020-2023  润新知