我想知道如何
cat my-verylong-file
Run Code Online (Sandbox Code Playgroud)
并从顶部而不是末端显示它。就像man命令一样。
vid*_*rlo 48
使用less,它将从顶部显示文件,允许您滚动浏览它,就像man:
less my-verylong-file
Run Code Online (Sandbox Code Playgroud)
如果您只是对查看文件的前 n 行感兴趣,则head可能是另一种选择:
head -n 25 filename
Run Code Online (Sandbox Code Playgroud)
将显示文件的前 25 行。
对于文件的最后 n 行,同样的事情tail:
tail -n 25 filename
Run Code Online (Sandbox Code Playgroud)
Pet*_*des 12
man使用less(1)作为默认寻呼机。用它代替cat. 另请参阅@vidarlo 的回答。
less以使其更好:我喜欢alias m=less,所以它只是一个单字母命令,因为我一直在输入它。将 a|m放在任何东西的末尾,将其输送到寻呼机中。
您可以-iMRj5X在别名中添加选项(例如alias m='less -iMRX),但我是用我的~/.lesskey文件来做的。(见lesskey(1))。
-i:搜索不区分大小写(除非您使用任何大写字母)-M: 更长的状态行,显示行号和文件百分比-R: 允许一些控制代码通过,因此您可以将彩色命令通过管道传输到less中。-X:不要切换到终端模拟器的“备用”屏幕,因此当您q退出less. (非常适合在找到所需选项后的手册页,并希望在键入时查看它。)-j5:搜索将目标行放在第 5 行而不是屏幕顶部。因此,您可以在搜索结果的两侧看到上下文。(有时我会通过在 中键入-j40或其他内容以交互方式更改此设置less,如果在搜索命中之前查看上下文最有用的话)。我也绑定.到next-file,并,到prev-file,因为默认绑定是两个不同的字符,这是很多慢键入::n和:p。
这是我的.lesskey:
$ cat .lesskey
. next-file
, prev-file
#env
LESS = iMRj5X
Run Code Online (Sandbox Code Playgroud)
运行lesskey以将其“编译”为~/.less.
这在 20 年前可能更重要,但less每次启动时都会读取该二进制文件而不是解析文本配置文件。