当前位置:首页 > 经验

教你screen2exe使用方法 screen2exe保存出错的原因

平时常用到Xshell等SSH客户端连接服务器进行配置工作,当执行的命令耗时过长时,为防止连接中断,需要依赖终端复用软件,常用的有screen和tmux。它们都可以实现在单个终端中打开多个登录会话,复用软件一个重要的特点是用户可以在自己打开的多个登录会话间自由切换(即attach、detach)。

本文对最常使用的终端复用工具screen和tmux进行介绍并比较二者的优缺点。

Tmux

特点:

  • 方便定制,可以改变外观和运行行为
  • 会话窗口类似浏览器的标签
  • 可以在Mac、Linux、树莓派等多种系统中运行
  • 可在单个终端窗口中创建多个窗格
  • 支持Emacs和Vim快捷键

使用:

正确安装tmux后在终端窗口中输入tmux后,回车,便可进入tmux创建的会话中,此时运行长耗时命令,即使你与服务器间的网络中断,也不会影响命令的执行。

Screen和Tmux比较

tmux会话

  • [0] 0:yunwei-op@tomcat-36:~:中括号中0表示当前会话的名字,因为创建会话的时候没有指定名字,所以显示为0,紧跟着的0代表窗口的序号,第一个窗口显示为0
  • *:星号表明这个是当前窗口
  • tomcat-36:主机名
  • 11:06 04-Aug-21:当前时间

实际的工作场景:

创建名为“session-1”的会话,

$ tmux new -s session-1

Screen和Tmux比较

session-1会话

在当前会话中开启第二个窗口,“Ctrl-b + c”

Screen和Tmux比较

单个会话中开启两个窗口

当前窗口开启第二个窗格(pane)并水平放置,“Ctrl-b + %”,对比文件差异时经常使用,

Screen和Tmux比较

单个窗口中水平开启两个窗格

窗格间切换使用“Ctrl-b + {”和“Ctrl-b + }”。

窗口间切换使用“Ctrl-b + 窗口号”

退出当前会话(detach操作)使用“Ctrl-b + d”

显示后台运行的会话:tmux ls

[yunwei-op@tomcat-36 ~]$tmux ls
session-1: 2 windows (created Wed Aug  4 14:56:31 2021) [130x31]

可以看到会话“session-1”有两个窗口(第一个窗口有一个窗格,第二个窗口有两个窗格)

进入指定会话:tmux attach -t session-name

Screen

属于GNU项目,对比tmux最大的特点是支持session共享,其他功能和tmux类似。

使用:

和tmux一样,命令行键入“screen”,回车即可进入screen 会话。

显示帮助信息,“Ctrl-a + #”

Screen和Tmux比较

screen的帮助信息

创建命名会话,

$ screen -S session-name

脱离当前会话,“Ctrl-a + d”

显示当前会话,

$ screen -ls

重新进入指定的会话,

$ screen -r screen-ID/screen-name

将当前窗口水平分割,“Ctrl-a + |”,

Screen和Tmux比较

水平分割当前会话

可以看到screen和tmux的区别,这时候是两个窗口,但还是一个会话,输入“Ctrl-a + Tab”,切到新的窗口,然后输入“Ctrl-a + c”,创建新的session。

Screen和Tmux比较

两个窗口各开一个session

切换会话使用“Ctrl-a + n”和“Ctrl-a + p”。关闭会话,“Ctrl-a + k”。

总结

tmux和screen是常用的会话复用工具,两者功能类似。tmux基于BSD许可,screen基于GNU GPL许可,相比较而言,tmux使用更加友好,由tmux开启的窗口下面有丰富的提示信息。screen比tmux最大的优势是可以支持在不同用户间进行会话共享。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com
标签:

  • 关注微信

相关文章