一、more命令
more功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。
1.命令格式:
more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]
2.命令功能:
more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。
3.命令参数:
+n 从笫n行开始显示
-n 定义屏幕大小为n行
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
-c 从顶部清屏,然后显示
-d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
-l 忽略Ctrl+l(换页)字符
-p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s 把连续的多个空行显示为一行
-u 把文件内容中的下画线去掉
4.常用操作命令:
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
5.命令实例:
实例1:显示文件中从第3行起的内容
命令:
aijian.shi@U-aijian-shi:~/ALM$ cat test.log #显示所有日志内容
aijian.shi@U-aijian-shi:~/ALM$ more +3 test.log #从第三行开始显示日志内容
输出:
1 aijian.shi@U-aijian-shi:~/ALM$ cat test.log 22016-8-1 aijian.shi 32016-8-2 yafang.wei 42016-8-3 hong.zhan 52016-8-4 yuyan.zhang 62016-8-5 senlin.zhao 72016-8-6 yanbin.liu 82016-8-7 hui.liu 92016-8-8 yanhua.liu 102016-8-9 baoixn.cui 112016-8-10 ge.song 122016-8-11 zhongjun.zhen 132016-8-12 qiu.liao
aijian.shi@U-aijian-shi:~/ALM$ more +3 test.log
2016-8-3 hong.zhan
2016-8-4 yuyan.zhang
2016-8-5 senlin.zhao
2016-8-6 yanbin.liu
2016-8-7 hui.liu
2016-8-8 yanhua.liu
2016-8-9 baoixn.cui
2016-8-10 ge.song
2016-8-11 zhongjun.zhen
2016-8-12 qiu.lia
实例2.将日志内容设置为每屏显示4行
命令:
aijian.shi@U-aijian-shi:~/ALM$ more -4 test.log
输出:
1 aijian.shi@U-aijian-shi:~/ALM$ more -4 test.log 22016-8-1 aijian.shi 32016-8-2 yafang.wei 42016-8-3 hong.zhan 52016-8-4 yuyan.zhang 6 7...skipping one line #这里使用ctrl+F或者空格键来滚屏 82016-8-6 yanbin.liu 92016-8-7 hui.liu 102016-8-8 yanhua.liu 112016-8-9 baoixn.cui 1213...skipping one line 142016-8-11 zhongjun.zhen 152016-8-12 qiu.liao
实例3.从文件中查找第一个出现"liu"字符串的行,并从该处前两行开始显示输出
命令:
aijian.shi@U-aijian-shi:~/ALM$ more +/liu test.log
输出:
1 aijian.shi@U-aijian-shi:~/ALM$ more +/liu test.log 2 3...skipping 42016-8-4 yuyan.zhang 52016-8-5 senlin.zhao 62016-8-6 yanbin.liu 72016-8-7 hui.liu 82016-8-8 yanhua.liu 92016-8-9 baoixn.cui 102016-8-10 ge.song 112016-8-11 zhongjun.zhen 122016-8-12 qiu.liao
实例4.当一个目录下的文件内容太多,可以用more来分页显示。这得和管道 | 结合起来
命令:
aijian.shi@U-aijian-shi:~/ALM$ cat test.log | more -5 #“|”表示管道,作用是可以将前面命令的输出当做后面命令的输入
输出:
1 aijian.shi@U-aijian-shi:~/ALM$ cat test.log | more -5 22016-8-1 aijian.shi 32016-8-2 yafang.wei 42016-8-3 hong.zhan 52016-8-4 yuyan.zhang 62016-8-5 senlin.zhao 7 8...skipping one line 92016-8-7 hui.liu 102016-8-8 yanhua.liu 112016-8-9 baoixn.cui 122016-8-10 ge.song 132016-8-11 zhongjun.zhen 14 --more--
二、less指令
less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。 在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按 键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
1.命令格式:
less [参数] 文件
2.命令功能:
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
3.命令参数:
-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]: 向上翻动一页
4.使用实例:
实例1:ps查看进程信息并通过less分页显示同时显示行号
命令:
aijian.shi@U-aijian-shi:~/ALM$ ps -ef|less -N
输出:
11 UID PID PPID C STIME TTY TIME CMD 22 root 100 Aug08 ? 00:00:00 /sbin/init 33 root 200 Aug08 ? 00:00:00 [kthreadd] 44 root 320 Aug08 ? 00:00:02 [ksoftirqd/0] 55 root 620 Aug08 ? 00:00:00 [migration/0] 66 root 720 Aug08 ? 00:00:00 [watchdog/0] 77 root 820 Aug08 ? 00:00:00 [migration/1] 88 root 920 Aug08 ? 00:00:00 [kworker/1:0] 99 root 1020 Aug08 ? 00:00:01 [ksoftirqd/1] 1010 root 1120 Aug08 ? 00:00:00 [watchdog/1] 1111 root 1220 Aug08 ? 00:00:00 [migration/2] 1212 root 1420 Aug08 ? 00:00:01 [ksoftirqd/2] 1313 root 1520 Aug08 ? 00:00:00 [watchdog/2] 1414 root 1620 Aug08 ? 00:00:00 [migration/3] 1515 root 1820 Aug08 ? 00:00:01 [ksoftirqd/3] 1616 root 1920 Aug08 ? 00:00:00 [watchdog/3] 1717 root 2020 Aug08 ? 00:00:00 [migration/4] 1818 root 2220 Aug08 ? 00:00:00 [ksoftirqd/4] 1919 root 2320 Aug08 ? 00:00:00 [watchdog/4] 2020 root 2420 Aug08 ? 00:00:00 [migration/5] 2121 root 2620 Aug08 ? 00:00:00 [ksoftirqd/5] 2222 root 2720 Aug08 ? 00:00:00 [watchdog/5] 2323 root 2820 Aug08 ? 00:00:00 [migration/6] 24 :
实例2.浏览多个文件
命令:
aijian.shi@U-aijian-shi:~/ALM$ less test2.log test.log
输出:
11ifconfig 22ping www.baidu.com 33ifconfig 44//10.128.161.108/share 5510.128.161.108/share 66ssh 77 keygen 88 trsa 99ssh1010 .ssh/ 111213 test2.log (file1 of 2) (END) - Next: test.log
说明:
输入 :n后,切换到 test.log
输入 :p 后,切换到test2.log
ps:当正在浏览一个文件时,也可以使用 :e命令 打开另一个文件。
命令:
less file1 :e file2
5.附加备注
1.全屏导航
ctrl + F - 向前移动一屏
ctrl + B - 向后移动一屏
ctrl + D - 向前移动半屏
ctrl + U - 向后移动半屏
2.单行导航
j - 向前移动一行
k - 向后移动一行
3.其它导航
G - 移动到最后一行
g - 移动到第一行
q / ZZ - 退出 less 命令
4.其它有用的命令
v - 使用配置的编辑器编辑当前文件
h - 显示 less 的帮助文档
&pattern - 仅显示匹配模式的行,而不是整个文件
5.标记导航
当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:
ma - 使用 a 标记文本的当前位置
'a - 导航到标记 a 处
6.查找
more, less 都具备查找功能,按/ 然后输入要找的字串,再按 Enter 即可,按 n(next) 会继续找,大写的 N 则是往回(上)找,按 q(quit)或者ZZ离开