我想知道如何
cat my-verylong-file
并从顶部而不是末尾显示。就像男人命令确实如此。
答案1
使用less
,它将从顶部显示文件,允许您滚动浏览它,就像man
:
less my-verylong-file
- 按q退出。
如果你只想看文件的前 n 行,head
可以采用另一种方法:
head -n 25 filename
将显示文件的前 25 行。
对于文件的最后 n 行也同样如此tail
:
tail -n 25 filename
答案2
man
用途less(1)
默认为分页器。使用它来代替cat
。另请参阅@vidarlo 的回答。
如何定制less
以使其变得更好:
我喜欢alias m=less
,所以它只是一个单字母命令,因为我经常输入它。|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
运行lesskey
将其“编译”成~/.less
。
这在 20 年前可能更重要,但less
每次启动时都会读取二进制文件,而不是解析文本配置文件。