当前位置: 首页 > news >正文

命令行快速进阶(七)通过byobu使用多个命令终端

此篇为命令行快速进阶最后一篇。

很多Linux高手都喜欢使用screen命令,screen命令可以使你轻松地使用一个终端控制其他终端。尽管screen本身是一个非常有用的工具,byobu作为screen的增强版本,比screen更加好用而且美观,并且提供有用的信息和快捷的热键。

想象一下这样一个场景:你通过Secure Shell(ssh)链接到一个服务器,并且工作在远程shell下。你需要打开另一个shell窗口这样你可以使得两个shell窗口同时运行。也许当你在第2个窗口中敲入命令行时,需要第1个窗口的输出。这时你会怎么处理?大部分人都会选择打开另一个SSH链接,事实上这是浪费而且没有必要的。Byobu命令可以使得你在一个终端下运行多个终端。

掌握byobu最好的方法是自己亲自实验。在Ubuntu下安装byobu的命令为

sudo apt-get install screen byobu

打开一个控制台,输入byobu,然后键入Enter。你的屏幕将会被取代为一个新的控制台,并且在屏幕的最下面一行信息面板。如下图所示:


ok,下面让我们开始使用这个新的终端。输入命令top,然后键入Enter,让它开始运行。按F2键,这时你看到一个全新的终端,没有任何提示信息,你可以输入新的命令。如下图所示:


输入uptime命令。那么原来运行top的终端会发生什么变化呢?当然它仍在运行。你可以按F3键进入到运行top命令的窗口,你可以再按F4键回到运行uptime的窗口。当你浏览其中一个终端时,其他终端并不受影响而是正常运行,这样就可以实现多任务。下面是byobu中一些常见的命令:

F2                 打开一个新的窗口

F3                进入前一个窗口

F4                 进入后一个窗口

F9                打开byobu菜单,查看帮助信息和配置信息

F12                锁住屏幕

F6                  断开链接

想要在byobu中退出一个终端,使用exit或者Ctrl+d即可。

当你退出了byobu的最后一个终端,相应的你也就退出了byobubyobu程序关闭并且你回到了常规的终端界面。除此之外,还有其他两种退出byobu的方法:锁住和断开链接。F12锁住进入你的屏幕直到你输入系统密码。断开链接是screen最为强大的特征,同样在byobu中也可以完美工作。你可以断开链接退出屏幕去做其他的事情,然后再重新链接;screenbyobu都可以保存你断开时的状态。例如,你可以在你的写字台上输入,然后断开这个session,回到家,重新链接,继续输入,就像什么都没发生过一样。而且,即使screenbyobu断开,所有从screenbyobu运行的程序仍然继续运行。当screenbyobu处于lock状态(Ctrl+a+x)时,如果其他人关闭了你的终端,它会自动断开链接。按住F6即可断开链接,你又回到了你最开始打开screen或者byobu的界面,你可以继续工作,关闭你之前打开的终端,甚至完全退出screenbyobu。当你想要重新链接时,运行命令screen -r或者byobu -r。你可以断开链接再重新建立链接一个session任意多次。

更多信息可查询man byobu。

相关文章:

  • Ubuntu中的用户管理(一)用户账户
  • Ubuntu中的用户管理(二)群组管理
  • Ubuntu中的用户管理(三)用户管理
  • Ubuntu中的用户管理(四)密码管理
  • Ubuntu中的用户管理(五)授予常规用户系统管理员权限
  • Ubuntu中的用户管理(六)硬盘配额
  • Ubuntu中的用户管理(七)相关Ubuntu命令
  • Windows下Ubuntu 12.04 LTS 的安装(双系统使用EasyBCD)
  • Ubuntu 12.04下安装QQ2012Beta3
  • Ubuntu 12.04 中文输入法
  • Ubuntu下的截图软件Deepin Scrot
  • SHELL 编程入门与提高(一)第一个shell程序
  • Ubuntu 12.04 LTS 中文txt文件显示乱码问题
  • SHELL 编程入门与提高(二)bash/pdksh中的表达式比较
  • SHELL 编程入门与提高(三)SHELL中的语句详解(上)
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • create-react-app项目添加less配置
  • CSS 提示工具(Tooltip)
  • es6(二):字符串的扩展
  • ES6系列(二)变量的解构赋值
  • Java IO学习笔记一
  • JavaScript中的对象个人分享
  • jquery ajax学习笔记
  • JS+CSS实现数字滚动
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • learning koa2.x
  • LeetCode18.四数之和 JavaScript
  • node学习系列之简单文件上传
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • SQLServer插入数据
  • ubuntu 下nginx安装 并支持https协议
  • 爱情 北京女病人
  • 包装类对象
  • 从0到1:PostCSS 插件开发最佳实践
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 计算机常识 - 收藏集 - 掘金
  • 浅谈Golang中select的用法
  • 深度学习入门:10门免费线上课程推荐
  • 什么软件可以剪辑音乐?
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 原生js练习题---第五课
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 湖北分布式智能数据采集方法有哪些?
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​你们这样子,耽误我的工作进度怎么办?
  • #Lua:Lua调用C++生成的DLL库
  • #考研#计算机文化知识1(局域网及网络互联)
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • (+4)2.2UML建模图
  • (C语言)fread与fwrite详解
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例