目录
一、cat
二、more
三、less
四、tail
五、head
各命令的主要区别:
linux命令中cat、more、less、tail、head均可用来查看文件内容,主要区别有:
cat 命令常用于显示整个文件的内容,或者合并多个文件。
cat [options] fileName
1、常用参数:
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
2、实例:
(1)把 file1 的文档内容全部显示在屏幕上:
cat file1
(2)把 file1 的文档内容加上行号后输入 file2 这个文档里:
cat -n file1 > file2
(注意:如果file2中原本有内容,此命令会覆盖file2中原有内容)
(3)把file1和file2的内容合并到file3,同样会覆盖原file3.txt中的内容:
cat file1 file2 > file3
(4)把 file1 和 file2 的文档内容加上行号(空白行不加)之后将内容追加到 file3 文档里:
cat -b file1 file2 >> file3
(5)清空 /etc/test.txt 文档内容:
cat /dev/null > /etc/test.txt
总结:当使用>时,cat会覆盖右边的文件;当使用>>时,cat会追加到右边的文件中。
3、cat 的反命令--tac 命令
把cat 单词反过来就是 tac, 该命令同样是显示整个文件的内容,但是倒序显示。
more 比 cat 功能更强大,会让日志分页显示,同时显示内容的百分比,更方便阅读。
最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(只能用 / 向下搜索)。
1、语法:
more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
2、常用参数:
3、实例:
(1)逐页显示file1内容:
more file1
(2)设定每屏显示的行数:
more -10 file1
以10行为单位翻页
(3)从第 20 行开始显示 file1 内容:
more +20 file1
(4)同时显示多个文件内容:
more file1 file2
依次显示出file1和file2的全部内容。
(5)从文件中查找第一个出现"liu"字符串的行,并从该处前两行开始显示输出:
more +/liu test.log
4、常用操作命令
less 与 more 类似,less 的用法比起 more 更加的有弹性。而且拥有更多的搜索功能,不止可以向下搜,也可以向上搜,跟vi中的搜索功能更相似。
1、语法:
less [参数] [fileNames...]
2、常用参数:
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-M 显示读取文件的百分比、行号及总行数
-N 在每行前显示行号
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
&pattern - 仅显示匹配模式的行,而不是整个文件
空格键 滚动一页
回车键 滚动一行
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
G - 移动到最后一行
g - 移动到第一行
v - 使用配置的编辑器编辑当前文件
h - 显示 less 的帮助文档
3、less 版 tail -f
在 Linux 动态查看日志文件常用的命令非 tail -f 莫属,其实 less 也能完成这项工作,使用 F 命令。
在 less 查看日志文件时,
1. 可以按大写 F,就会有类似 tail -f 的效果,读取写入文件的最新内容, 按 ctrl+C 停止。
2. 可以按 v 进入编辑模型, shift+ZZ 保存退出到 less 查看模式。
3. 可以按 :e 查看下一个文件, 用 :n 和 :p 来回切换。
4、实例
1、分页查看文件,与more类似:
less log2013.log
2、ps查看进程信息并通过less分页显示同时显示行号:
ps -ef | less -N
3、查看命令历史使用记录并通过less分页显示:
4、浏览多个文件
less log1.log log2.log
说明:
输入 :n后,切换到 log2.log
输入 :p 后,切换到log1.log
总结:less 和 more 对比
1、more命令从前向后读取文件,因此在启动时就加载整个文件,如果文件较大时,加载速度慢。
2、 less 并未在一开始就读入整个文件,因此在遇上查看大文件时,会比more、vi等工具的速度更快。同时,less的查找功能更强大。
3、more和less都支持:用空格显示下一页,按键b显示上一页。。
tail 用来显示文件的最后几行内容,当文件内容有更新时,tail会自己主动刷新,确保一直显示最新的文件内容。
1、命令语法
tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
2、常用参数:
-f 监视File文件增长,动态刷新文件
-n Number 从倒数Number行位置读取指定文件
-c Number 从倒数Number字节数位置读取指定文件
3、实例
(1)显示文件最后几行内容:
tail filename
默认只显示文件最后10行内容,并退出文件,不会自动刷新。
(2)显示文件最后50行内容:
tail -n 50 filename
显示文件最后50行内容,并退出文件,不会自动刷新。
(3)显示文件最后内容,并动态刷新:
tail -f filename
或 tailf filename
监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),并动态刷新显示在屏幕上。按下CTRL+C可退出。
(4)指定文件动态刷新的行数:
tail -50f filename
显示最后50行文件内容,并动态刷新,每次刷新50行。
(5)截取文件的后100行,并保存到新文件中
tail -n 1000 file1.txt > file2.txt
head 用来显示文件的前面几行内容,可以指定行数和字节数。
1、命令语法
tail [-v | -c Number | -n Number] [ File ]
2、常用参数:
-v 在输出内容前面显示文件名
-n Number 显示文件的前面Number行内容
-c Number 显示文件的前面Number字节内容
3、实例
(1)显示前5行,并显示文件名
head -vn 5 head.txt
(2)显示前5个字节
head -c 5 head.txt
(3)截取文件的前100行,并保存到新文件中
head -n 1000 file1.txt > file2.txt
总结:tail 和 head 对比
1、tail 可显示文件最后几行的内容,并动态刷新。
2、head 可显示文件前面几行的内容。
3、二者也常用于大文件的截取。