云网牛站
所在位置:首页 > Linux新闻 > Fedora中5个很棒的终端传呼机:More、Less、Most、pspg、Vim

Fedora中5个很棒的终端传呼机:More、Less、Most、pspg、Vim

2019-12-07 09:38:35作者:乐肖肖稿源:云网牛站

本文介绍Fedora Linux系统中5个很棒的终端传呼机,它们分别是:More、Less、Most、pspg、Vim。大型文件(例如日志或源代码)可能会运行成千上万行,这使得导航非常困难,尤其是在终端上。此外,大多数终端仿真器的回滚缓冲区只有几百行,这样一来,就不可能使用实用程序来浏览终端中的大文件,这些实用程序可以打印到cat、head和tail之类的标准输出,在计算的早期,程序员通过开发用于以虚拟页面形式显示文本的实用程序来解决这些问题,这些实用程序被形象地描述为寻呼机。传呼机提供了许多功能,这些功能使文本文件的导航更加简单,包括滚动、搜索功能以及作为命令流水线的一部分而具有的功能。与大多数文本编辑器相比,某些终端寻呼机不需要加载整个文件即可查看,这使它们更快,特别是对于非常大的文件。在现代Linux计算时代,终端仿真器比以往任何时候都更加复杂,它们提供了对颜色万花筒,终端大小调整以及其他许多功能的支持,这些功能使解析屏幕上的文本变得更加轻松和高效。终端传呼机也经历了类似的演变,从极其简单的UNIX实用程序(如pg等)到具有多种功能,涵盖任何用例的复杂程序。

Fedora中5个很棒的终端传呼机:More、Less、Most、pspg、Vim

 

1、More的介绍

more是最早的寻呼机之一,最初在3.0 BSD版本中使用。1978年,Daniel Halbert编写了更多代码的第一个实现。从那时起,更多功能已成为许多操作系统(包括Windows、OS/2、MacOS和大多数Linux发行版)的普遍功能。

more是一个非常轻量级的实用程序,util-linux中提供的版本运行到不到2100行的C语言。但是,这种小占用空间是有代价的,大多数版本的more功能相对有限,不支持向后滚动或搜索。命令也同样被剥离:按Enter键可滚动一行,或按空格键滚动一页。其他一些有用的命令包括:

阅读时按v键,即可在默认终端编辑器中打开当前文件。

‘/pattern’让您搜索下一个出现的模式。

:n和:p将以多个文件作为参数调用更多文件时,分别打开下一个和上一个文件。

 

2、Less的介绍

最初,较少的概念被认为是较多的继任者,解决了它的一些局限性。以更多、更少的功能为基础,增加了许多有用的功能,包括向后滚动、向后搜索,它也更适合窗口大小调整。

更少的导航类似于更多,尽管更少的导航也从vi编辑器中借用了一些有用的命令,用户可以使用熟悉的首页行导航键浏览文档,只需花一点时间浏览一下手册页即可发现可用命令的丰富资源,一些特别有用的示例包括:

?pattern可让您在文件中向后搜索pattern。

&pattern仅显示具有特征的行,这对于发现自己发布$grep模式的人特别有用|少定期。

使用-s(–sqeueeze-blank-lines)选项更少的调用允许您查看间隔较大的文本文件,多个换行符被简化为单个中断。

从程序内部调用的s文件名将输入保存到文件名(如果输入是管道)。

另外,用-o filename选项更少地调用将把less的输入保存到filename中。

借助此增强的功能,可以增加一些额外的重量,Fedora附带的less版本,该时钟在大约25000行源代码中写入时钟,当然,对于除了受存储限制最大的系统以外的所有系统,这都是非问题。此外,少即是多。

 

3、Most的介绍

尽管less的目标是扩展更多功能的现有功能,但大多数都采用不同的方法。大多数功能都没有使用户在传统的单个文件视图上进行扩展,而是将其视图划分为窗口,每个窗口以不同的查看模式包含不同的文件。

重要的是,大多数都考虑到其输入文本的宽度,默认的查看模式不换行(少写-S),此功能在处理宽文件时特别有用,尽管对于某些用户来说,这些设计决策可能代表着与传统的重大偏离,但最终结果却非常强大。

除了更多提供的导航命令外,大多数还使用直观的助记符进行文件导航。例如,t移动到文件的顶部,而b移动到文件的底部,结果,不熟悉vi及其后代的用户会发现大多数操作都非常简单。

大多数功能的独特之处在于它能够快速轻松地拆分窗口和上下文,例如,可以使用以下命令打开两个不同的文本文件:

$ most textFile1.txt textFile2.txt

为了水平分割屏幕,请使用组合键Ctrl+x,2或Ctrl+w,2。命令:n将在给定窗口中打开下一个文件参数,提供两个文件的分割屏幕视图:

Fedora中5个很棒的终端传呼机:More、Less、Most、pspg、Vim

如果在一个窗口中关闭自动换行,它不会影响其他窗口的行为。\字符表示换行或折叠,而$字符表示文件超出了当前窗口的限制。

 

4、pspg的介绍

使用SQL数据库(参考:在RHEL/CentOS 8上安装Microsoft SQL Server的方法)的人员通常需要能够一目了然地检查我们数据库的内容,许多流行的开源DBMS(例如MySQL和PostGreSQL)的命令行界面都使用系统默认的寻呼机来查看单个屏幕上无法显示的输出。诸如此类的实用程序越来越多地围绕呈现文本文件的想法而设计,但是对于结构化的数据,还有一些不足之处。天真的文本分页程序没有宽泛的表格数据的概念,当处理大型查询时,这些数据可能会令人沮丧。

pspg试图通过为用户提供在查看时冻结列,对数据进行原位排序以及对输出着色的功能来解决此问题。虽然最初将pspg用作psql的寻呼机替代品,但该程序还支持查看CSV数据,并且是mysql和pgcli的合适的直接替代品。

 

5、Vim的介绍

在现代的彩色彩色终端中,黑色文本上无休止的灰色单页页面的想法似乎有点过时了,功能强大的文本编辑器(如vim)提供的语法突出显示选项对于浏览源代码很有用。而且,vim提供的搜索功能远远超过了竞争对手,考虑到这一点,vim附带了一个shell脚本less.sh,可以让vim代替传统的寻呼机。

要将vim设置为手册页的默认分页器,请将以下内容添加到Shell的配置中(例如,如果使用默认的bash shell,则为~/.bashrc):

export MANPAGER="/bin/sh -c \"col -b | vim -c 'set ft=man ts=8 nomod nolist nonu noma' -\""

或者,要将vim设置为系统范围内的默认分页器,请找到less.sh脚本(您可以在当前Fedora系统上的/usr/share/vim/vim81/macros /上找到它)。将此位置导出为变量PAGER以将其设置为默认值,或者导出为别名以显式调用它。

 

相关主题

玩转Linux必备的Vim技能,一文读懂Vim的安装和配置,学习之法

精选文章
热门文章