当前位置: 首页 > 科技观察

5个最酷的终端寻呼机

时间:2023-03-19 19:53:05 科技观察

像日志或源代码这样的大文件可能会达到数万行,使得在其中导航非常困难,尤其是在终端上。此外,大多数终端仿真器的回滚缓冲区只有几百行。这可能导致无法使用打印到标准输出的实用程序(例如cat、head和tail)在终端中浏览大文件。在计算的早期,程序员通过开发在虚拟“页面”(形象地描述为寻呼机)中显示文本的实用程序来解决这些问题。寻呼机提供了许多使导航文本文件更容易的特性,包括滚动、搜索功能和作为命令管道一部分的功能。一些终端寻呼机不需要加载整个文件来查看它,这使得它们比大多数文本编辑器更快,尤其是对于非常大的文件。在Linux计算的现代时代,终端仿真器比以往任何时候都更加复杂。它们支持鲜艳的颜色、调整终端大小和许多其他功能,使破译屏幕上的文本变得更加容易和高效。终端寻呼机经历了类似的演变,从极其简单的UNIX实用程序(例如pg等)到具有涵盖各种使用场景的广泛功能的复杂程序。考虑到这一点,我们或多或少地列出了一些最流行的终端分页实用程序。moremore是最早的寻呼机之一,首次出现在BSD3.0版中。more的第一个实现是由DanielHalbert于1978年编写的。从那时起,more已成为许多操作系统无处不在的功能,包括Windows、OS/2、MacOS和大多数Linux发行版。more是一个非常轻量级的实用程序。util-linux包中提供的版本只有不到2100行C代码。然而,这种较小的代码大小是有代价的。more的大多数版本功能相对有限,不支持向后滚动或搜索。这些命令同样精简:按Enter键滚动一行,或按空格键滚动一页。其他一些有用的命令包括:??阅读时按v以在默认终端编辑器中打开当前文件。/pattern将让您搜索下一次出现的“模式”。当以多个文件作为参数调用more时,:n和:p将分别打开下一个和上一个文件###lessless最初被认为是more的继承者,解决了它的一些限制。less建立在more的功能之上,并添加了许多有用的功能,包括向后滚动和向后搜索。它也更适合调整窗口大小。less中的导航类似于more,尽管less也从vi编辑器中借用了一些有用的命令。用户可以使用熟悉的首页行导航键(LCTT注解:A、S、D、F为左手,J、K、L、;为右手,大拇指所在的空格键)浏览文档.看一眼less的手册页就会发现很多可用的命令。一些特别有用的示例包括:?pattern让您可以在文件中向后搜索“模式”。&pattern只显示具有“pattern”特征的行。这对于发现自己想要使用$greppattern|的人特别有用。少了很多。使用-s(或--sqeueeze-blank-lines)标志调用less允许您查看带有大空行的文本文件。多个换行符减少到一个单独的换行符。在此程序中调用sfilename将输入保存到filename中(如果输入来自管道)。或者,使用-ofilename标志调用less会将less的输入保存到filename。随着这些增强功能的出现,尺寸也略有增加。在撰写本文时,Fedora附带的less版本有大约25,000行源代码。当然,除了内存最受限的系统外,这在所有系统上都不是问题。less比more更通用。mostless旨在扩展more的现有功能,而most则采用不同的方法。与其扩展单个文件的传统视图,大多数使用户能够将他们的视图拆分为“窗口”。每个窗口包含不同查看模式下的不同文件。重要的是,大多数都考虑了输入文本的宽度。默认的查看模式是非环绕(less中的-S参数),这在处理“宽”文件时特别有用。虽然对于某些用户而言,这些设计决策可能代表着与传统的重大背离,但最终结果却非常强大。除了more提供的导航命令外,most使用直观的助记符进行文件导航。例如,t移动到文件的顶部(Top),b移动到底部(Bottom)。这样,对于不熟悉vi及其衍生版本的用户来说,大多数都非常容易上手。最与众不同的是它能够快速轻松地拆分窗口和上下文。例如,可以使用以下命令打开两个不同的文本文件:$mosttextFile1.txttextFile2.txt要水平分割屏幕,请使用组合键Ctrl+x,2或Ctrl+w,2。:n命令将在给定窗口中打开下一个文件参数,提供两个文件的分屏视图:如果在一个窗口中关闭自动换行,则不会影响其他窗口的行为。\字符(在行尾)表示换行或折叠,$字符表示文件超出当前窗口的限制。pspg使用SQL数据库的人通常需要能够一目了然地检查数据库的内容。许多流行的开源DBMS(例如MySQL和PostGreSQL)的命令行界面使用系统的默认分页器来查看无法在单个屏幕上显示的输出。more和less等实用程序是围绕渲染文本文件的思想设计的,但是对于更结构化的数据,还有一些不足之处。朴素的文本分页器没有宽表格数据的概念,这在处理大型查询时可能会令人沮丧。pspg试图通过让用户能够在查看时冻结列、就地排序数据以及为输出着色来解决这个问题。尽管pspg最初旨在替代psql的分页器,但该程序还支持查看CSV数据,并且是mysql和pgcli的合适替代品。Vim在无尽的黑色页面上的灰色文本在现代色彩鲜艳的终端中感觉太过时了。vim等强大的文本编辑器提供的语法高亮选项对于浏览源代码很有用。此外,vim提供了远远超过其竞争对手的搜索功能。考虑到这一点,vim附带了一个shell脚本less.sh,它使vim成为传统寻呼机的替代品。要将vim设置为手册页的默认寻呼机,请将以下内容添加到您的shell配置中(如果使用默认bashshell,则为~/.bashrc):exportMANPAGER="/bin/sh-c\"col-b|vim-c'setft=mants=8nomodnolistnonunoma'-\""或者,要将vim设置为系统范围的默认分页器,请找到less.sh脚本。(您可以在当前Fedora系统上的/usr/share/vim/vim81/macros/中找到它。)将此位置导出为变量PAGER以使其成为默认位置,或使其成为别名以显式调用它。