more命令
Linux more
命令类似 cat
,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space
)就往下一页显示,按 b
键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi
相似),使用中的说明文件,请按 h
。
more
命令从前向后读取文件,因此在启动时就加载整个文件。
语法
more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
参数
- -num 一次显示的行数
- -d 提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声
- -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
- -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
- -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
- -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
- -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
- -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
- +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
- +num 从第 num 行开始显示
- fileNames 欲显示内容的文档,可为复数个数
实例
- 分页显示文件内容
more -s 6.log more -10 6.log //分页显示数据,每页10行
- 从第5行开始显示内容
[root@hzj home]$ more +5 6.log 5 6 7 8 9 10 ...
- 从第20行开始,每页5行数据
[root@hzj home]$ more +20 -5 6.log 20 21 22 23 24 --More--
- 从文件中查找第一个出现"bike"字符串的行,并从该处前两行开始显示输出
[root@hzj home]$ more +/bike 1.log ...skipping book car bike --More--
- 当一个目录下的文件内容太多,可以用more来分页显示。这得和管道 | 结合起来
[root@hzj home]$ cat 1.log | more -5 abc book car bike school --More--
- 从第2行开始,每页5行
[root@hzj home]$ cat 1.log | more +2 -5 book car bike school mouse --More--
less命令
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
语法
less [参数] 文件
参数说明
- -b <缓冲区大小> 设置缓冲区的大小
- -e 当文件显示结束后,自动离开
- -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
- -g 只标志最后搜索的关键词
- -i 忽略搜索是的大小写
- -m 显示类似more命令的百分比
- -N 显示每行的行号
- -o <文件名> 将less输出的内容在指定文件中保存起来
- -Q 不使用警告音
- -s 显示连续空行为一行
- -S 行过长时将超出部分舍弃
- -x <数字> 将tab键显示为规定的数字空格
- /字符串: 向下搜索“字符串”的功能
- ?字符串: 向上搜索“字符串”的功能
- n: 重复前一个搜索(与/或?有关)
- N: 反向重复前一个搜索(与/或?有关)
- b 向后翻一页
- d 向后翻半页
- h 显示帮助界面
- Q 退出less命令
- u 向前滚动半页
- y 向前滚动一行
- 空格键 滚动一页
- 回车键 滚动一行
[pagedown]:
向下翻动一页[pageup]:
向上翻动一页
实例
-
ps查看进程信息并通过less分页显示
[root@hzj home]# ps -ef | less UID PID PPID C STIME TTY TIME CMD root 1 0 0 Aug20 ? 00:00:26 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 root 2 0 0 Aug20 ? 00:00:00 [kthreadd] root 3 2 0 Aug20 ? 00:00:03 [ksoftirqd/0] root 5 2 0 Aug20 ? 00:00:00 [kworker/0:0H] root 7 2 0 Aug20 ? 00:00:00 [migration/0] root 8 2 0 Aug20 ? 00:00:00 [rcu_bh] root 9 2 0 Aug20 ? 00:04:09 [rcu_sched] root 10 2 0 Aug20 ? 00:00:00 [lru-add-drain] root 11 2 0 Aug20 ? 00:00:08 [watchdog/0] root 13 2 0 Aug20 ? 00:00:00 [kdevtmpfs] root 14 2 0 Aug20 ? 00:00:00 [netns] root 15 2 0 Aug20 ? 00:00:00 [khungtaskd] root 16 2 0 Aug20 ? 00:00:00 [writeback] root 17 2 0 Aug20 ? 00:00:00 [kintegrityd] root 18 2 0 Aug20 ? 00:00:00 [bioset] root 19 2 0 Aug20 ? 00:00:00 [bioset] root 20 2 0 Aug20 ? 00:00:00 [bioset] ...
-
ps查看进程信息并通过less分页显示,并显示行号
[root@hzj home]# ps -ef | less -N 1 UID PID PPID C STIME TTY TIME CMD 2 root 1 0 0 Aug20 ? 00:00:26 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 3 root 2 0 0 Aug20 ? 00:00:00 [kthreadd] 4 root 3 2 0 Aug20 ? 00:00:03 [ksoftirqd/0] 5 root 5 2 0 Aug20 ? 00:00:00 [kworker/0:0H] 6 root 7 2 0 Aug20 ? 00:00:00 [migration/0] 7 root 8 2 0 Aug20 ? 00:00:00 [rcu_bh] 8 root 9 2 0 Aug20 ? 00:04:10 [rcu_sched] 9 root 10 2 0 Aug20 ? 00:00:00 [lru-add-drain] 10 root 11 2 0 Aug20 ? 00:00:08 [watchdog/0] 11 root 13 2 0 Aug20 ? 00:00:00 [kdevtmpfs] 12 root 14 2 0 Aug20 ? 00:00:00 [netns] 13 root 15 2 0 Aug20 ? 00:00:00 [khungtaskd] 14 root 16 2 0 Aug20 ? 00:00:00 [writeback] 15 root 17 2 0 Aug20 ? 00:00:00 [kintegrityd] ...
-
查看命令历史使用记录并通过less分页显示
[root@localhost test]# history | less 22 scp -r tomcat6.0.32 root@192.168.120.203:/opt/soft 23 cd .. 24 scp -r web root@192.168.120.203:/opt/ 25 cd soft 26 ls ……省略……
说明:
输入
:n
后,切换到 log2014.log
输入:p
后,切换到log2013.log -
当正在浏览一个文件时,也可以使用 :e命令 打开另一个文件。
less file1 :e file2
-
标记导航
当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:ma - 使用 a 标记文本的当前位置
'a - 导航到标记 a 处 -
查找
more, less 都具备查找功能,按/ 然后输入要找的字串,再按 Enter 即可,按 n(next) 会继续找,大写的 N 则是往回(上)找,按 q(quit)或者ZZ离开