1. Linux下more命令高级用法
我们在 Linux 环境下工作时,每天肯定会跟各种各样的文本文件打交道。这些文件,有时候会非常长,无法在一屏的空间内显示完全。所以,在查看这种文件时,我们需要分页显示。这时,我们就可以使用 more 命令。
more 命令使用方法很简单,只需在 more 之后跟上文本名即可:
比如,我们要查看 /var/log/dmesg 文件,只需:
执行结果如下图示,有 Linux 基础的朋友应该对这个结果很熟悉。
在终端的左下角,会显示已显示的文本内容在全文的占比情况。如果我们想要查看下一屏的内容,只需按 空格键 即可。翻页之后,我们也会看到左下角百分比相应增长。
常用按键:
这些都是 more 命令的基本用法,很多朋友应该都很熟悉。接下来,良许就带领大家一步步深入 more 命令的高级用法。
使用 more 命令时,默认是从第一行开始显示。但有时我们可能想直接从 100 行开始看,那要怎么操作呢?其实只需加一个 +100 即可。
比如:
more 命令默认是整屏显示,如果我们一次只想查看几行,要怎么操作?只需加一个 -N 选项即可,N 就是你想要查看的行数。
比如对于 /var/log/dmesg 文件我们一次只想查看 10 行,我们可以这样:
这样在终端里,我们一次只可以看到 10 行内容,按一下空格键,就会继续显示下 10 行内容。
如果我们想要显示 more 命令的一些提示信息,我们可以加上 -d 选项。
我们可以看到,在最底下一行,除了显示百分比之外,还额外显示了提示信息。如果我们随便按了一个不会被 more 命令识别的按键,它会提示你按 h 按键 查看帮助信息。
如果我们按下 h 按键,它会显示所有帮助信息:
如果我们一次显示 10 行,按一下空格键,它会往下继续显示 10 行,像这样:
这是按了一次空格键的效果,终端里一共显示了 20 行,也就是它会一直往下滚动。那如果我们不想这样滚动显示,每次都只查看 10 行呢?我们只需加上 -c 选项。
我们按了两次空格了,但终端里还是只显示 10 行的内容。
最后,最近很多小伙伴找我要 Linux学习路线图 ,于是我根据自己的经验,利用业余时间熬夜肝了一个月,整理了一份电子书。无论你是面试还是自我提升,相信都会对你有帮助!目录如下:
免费送给大家,只求大家金指给我点个赞!
电子书 | Linux开发学习路线图
也希望有小伙伴能加入我,把这份电子书做得更完美!
推荐阅读:
2. CentOS中逐页显示长文本文件more命令
如果你已经习惯了在Linux系统上工作,那你一定会发现在Linux世界中存在着大量的文本文件。配置文件和日志文件通常都采用文本格式。这些文件通常都有很长的内容,不能在一屏内全部显示。所以在处理这种文件时,我们需要分页显示。这时我们可以用上more命令。
more是干嘛的
more是一个用来分页显示大文本文件的命令,它默认是内置在各个Linux发行版中的。
怎么用more
使用more命令,只需要键入:
$ more file_name
比如,我们想检查/var/log目录下的日志文件syslog,只需要键入:
$ more /var/log/syslog
然后我们可以看到在屏幕左下角有个提示,告诉我们当前的显示比例为0%。看上去这个文件相当大,所以第一页是全部页数的0%。使用空格键可以往下翻页,然后就可以看到提示的百分比会增加。
限制每页显示的行数
在执行more命令的时候,它会占用你终端窗口的全部空间用于显示。但是你可以通过参数-数字来限制每页显示的行数。
例如,你希望每页限制显示12行,可以通过下面的命令:
$ more -12 /var/log/syslog
现在,你会看到每页只显示12行,在按下空格键后,就会翻页显示后面的12行。
Display user message
我们知道,more命令会在显示区域的左下角提示当前内容所占的百分比。对于第一次使用more命令的人来说,他或她可能会想知道怎么才能往下翻页。为了避免这种情况,我们可以在执行时增加-d参数,这样就会额外显示一行用户信息“[按空格键继续,‘q‘推出.]”
如果用户按了‘空格‘或’q‘之外的按键,more会显示一行帮助信息“ [按‘h’键查看提示。]”
如果按下h键,会显示一个帮助信息:
一个有意思的指令是b按钮,b按钮允许你退回到前面的页面。换句话说,b按钮可以允许向前翻页。
你可以通过左上角的...前1页信息来确认当前显示的是前面的页面。
禁止滚动
通过参数-c,more命令不会滚动页面,而是直接清除之前的内容,替换为下一页的内容。 With-coption, more will not scroll the page. It will clear the previous page and put the next page or lines there.
$ more -10 -c lynis.log
如果按下空格键,下一页会仍然有相同的大小。
忽略多余的空白行
使用参数-s来忽略多余的空白行,下面是个例子:
当我们增加参数-s后:
$ more -s doc_30.txt
查找字符串
如果你的日志文件非常大,那么在其中查找你想要的字符串并不是那么容易。more命令的查找功能可以帮你,通过参数+/string可以用来搜索字符串,找到的关键字会显示在第一行。比如我们要在/var/logs/syslog文件中搜索“dhclient”,那more命令的格式:
$ more +/dhclient /var/log/syslog
然后,如果要在文件中继续搜索下一个,只需要按下/按钮,后面跟有关键字dhclient。
从指定行开始显示
你也可以通过参数+数字来指定开始显示的行,例如,我们有一个15行的文件:
然后我们想从第5行开始显示这个文件的内容,命令看起来会是这个样子:
$ more +5 doc_30.txt
可以显示二进制文件吗?
答案是不行. more命令会提示这样的信息,例如:
结论
more是一个用来查看文本文件的基础工具,它不能用来显示二进制文件。通常,我们可以通过命令man more或者more --help来获取更多关于more怎么使用的信息。