通常使用Xshell等SSH客户端连接到服务器进行配置。当执行的命令耗时过长时,为了防止连接中断,就需要依靠终端复用软件。常用的有screen和tmux。他们都可以在一个终端上打开多个登录会话。重用软件的一个重要特征是用户可以在多个登录会话之间自由切换(即连接和分离)。
本文介绍了最常用的终端复用工具screen和tmux,并比较了它们的优缺点。
Tmux
特点:
方便定制,可以改变外观和运行行为会话窗口类似浏览器的标签可以在Mac、Linux、树莓派等多种系统中运行可在单个终端窗口中创建多个窗格支持E***cs和Vim快捷键
使用:
正确安装tmux后在终端窗口中输入tmux后,回车,便可进入tmux创建的会话中,此时运行长耗时命令,即使你与服务器间的网络中断,也不会影响命令的执行。
正确安装tmux后,在终端窗口输入tmux,然后按enter键进入tmux创建的会话。这时候运行一个又长又耗时的命令,即使你和服务器之间的网络中断,也不会影响命令的执行。
Tmux会话
[0] 0:yunwei-op@tomcat-36:~:中括号中0表示当前会话的名字,因为创建会话的时候没有指定名字,所以显示为0,紧跟着的0代表窗口的序号,第一个窗口显示为0*:星号表明这个是当前窗口tomcat-36:主机名11:06 04-Aug-21:当前时间
实际工作场景:
创建一个名为“会话-1”的会话,
$ tmux new -s session-1
会话-1会话
在当前会话中开启第二个窗口,“Ctrl-b + c”
在当前会话中打开第二个窗口“Ctrl-b+c”
在一个会话中打开两个窗口。
当前窗口开启第二个窗格(pane)并水平放置,“Ctrl-b + %”,对比文件差异时经常使用,
打开当前窗口的第二个窗格,水平放置“Ctrl-b+%”,比较文件差异时经常用到。
在单个窗口中水平打开两个窗格。
在窗格之间使用“Ctrl-b+{”和“Ctrl-b+}”。
在
窗口
之间切换以使用“Ctrl-b+窗口号”
使用“Ctrl-b+d”退出当前会话(分离操作)
显示在后台运行的会话:tmux ls
[yunwei-op@tomcat-36 ~]$tmux lssession-1: 2 windows (created Wed Aug 4 14:56:31 2021) [130x31]
您可以看到会话“session-1”有两个窗口(第一个窗口有一个窗格,第二个窗口有两个窗格)。
输入指定会话:tmux attach -t session-name
屏幕
它属于GNU项目。与tmux相比,最大的特点是支持会话共享,其他功能与tmux类似。
使用:
就像tmux一样,在命令行上键入“screen ”,然后按enter键进入屏幕会话。
显示帮助信息,“Ctrl-a + ?”
显示帮助消息“Ctrl-a+?”
屏幕的帮助信息
创建一个命名会话,
$ screen -S session-name
离开当前会话,“Ctrl-a+d”
显示当前会话,
$ screen -ls
重新进入指定的会话,
$ screen -r screen-ID/screen-name
将当前窗口水平分割,“Ctrl-a + |”,
水平拆分当前窗口,“Ctrl-a+|”,
水平分割当前会话
可以看到screen和tmux的区别
,这时候是两个窗口,但还是一个会话,输入“Ctrl-a + Tab”,切到新的窗口,然后输入“Ctrl-a + c”,创建新的session。
可以看出screen和tmux的区别
。此时有两个窗口,但仍然是会话。输入“Ctrl-a+Tab”,剪切到新窗口,然后输入“Ctrl-a+c”创建新会话。
两个窗口各有一个会话。
使用“Ctrl-a+n”和“Ctrl-a+p”来切换会话。关闭会话,“Ctrl-a+k”。
摘要
Tmux和screen是常用的会话复用工具,功能相似。Tmux基于BSD许可,screen基于GNU GPL许可。相比较而言,tmux使用起来更友好,tmux打开的窗口下有大量的提示。screen tmux最大的优势是可以支持不同用户之间的会话共享。
本文来自MR.特别人士投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/590998.html