Linux命令 - 查看文件内容

Linux查看文件内容的命令有多种: tai、head、cat、sed、grep、more、less等

 

tail命令

tail命令是最常见的日志查看命令,从文件末尾开始检索。

命令格式: tail[必要参数][选择参数][文件]
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c <数目> 显示的字节数
-n <行数> 显示行数
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

 例如:

tail  -n  10   test.log   查询日志尾部最后10行的日志;
tail  -n +10   test.log   查询10行之后的所有日志;
tail  -fn 10   test.log   循环实时查看最后10行记录(最常用的)

一般还会配合着grep用,例如 :

 tail -fn 1000 test.log | grep '关键字'

如果一次性查询的数据量太大,可以进行翻页查看,例如:

tail -n 3000  test.log | more -1000 可以进行多屏显示(ctrl + f 或者 空格键可以翻页)

分页查看前1000行

tail -n 1000 catalina.out | more

查找最新的10行中时间范围在2021-02-04 11:40-2021-02-04 11:49范围中的行

tail -10f test.log | grep '2021-02-04 11:4[0-9]' 

 

head命令

与tail相对应,从文件头开始检索

head -n  10  test.log   查询日志文件中的头10行日志;
head -n -10  test.log   查询日志文件除了最后10行的其他所有日志;

 

cat命令

该命令显示全部日志,如果文件比较大的话,不建议使用

一次显示整个文件:

cat test.log

cat -n cat test.log  显示行号

 将几个文件合为一个文件:

cat file1 file2 > newfile 只能创建新文件,不能编辑已有文件.

将一个日志文件的内容追加到另外一个文件末尾:

cat -n textfile1 > textfile2
其他命令,查看关键字前后指定行数,并显示行号:
cat test.log | head -n 50   #查看日志前50行
 
cat -n test.log | tail -n 50   #查看日志后50行,并显示行号

 

sed命令

sed命令可以查找日志文件特定的一段 , 根据时间的一个范围查询,可以按照行号和时间范围查询

按照行号:

sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。

按照时间段:

查看某段时间内的日志: sed -n '/起始时间/,/结束时间/p' 日志文件,

查看某段时间内的关键字日志:sed -n '/起始时间/,/结束时间/p' 日志文件| grep ‘keyword’

sed -n ‘/2018-06-21 14:30:20/,/2018-06-21 16:12:00/p’ catalina.out | grep ‘keyword’

 

grep命令

linux中最为常用的三大文本(awk,sed,grep)处理工具,grep家族总共有三个:grep,egrep,fgrep。

grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 

grep表示全局正则表达式版本,它的使用权限是所有用户。

grep  '关键字'  biz.log                       #查找log带‘关键字’的日志内容
 
grep  '关键字'  biz.log  -c                   #查看log中带‘关键字’日志内容的行数
 
grep  '关键字'  biz.log  | grep  '关键字2'        #查看log既带‘关键字’又带‘关键字2’的日志内容
 
grep  -v  '关键字' biz.log                    #查看log不带‘关键字’的日志内容
 
grep  '关键字' biz.log  | grep -v  '关键字2'      #查看log带'关键字',但不带'关键字2'的日志内容
 
grep '关键字1\|关键字2'  biz.log  或  grep -E "关键字1\|关键字2" biz.log     #查询带`关键字1`或`关键字2`的日志内容

 

more命令

more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。more命令从前向后读取文件,因此在启动时就加载整个文件。

该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:–More–(XX%)

more的语法:more 文件名

Enter 向下n行,需要定义,默认为1行

Ctrl f 向下滚动一屏

空格键 向下滚动一屏

Ctrl b 返回上一屏

= 输出当前行的行号

:f 输出文件名和当前行的行号

v 调用vi编辑器

!命令 调用Shell,并执行命令

q退出more

less命令

less命令在查询日志时,一般流程是这样的:

less log.log
 
shift + G 命令到文件尾部  然后输入 ?加上你要搜索的关键字例如 ?1213
 
按 n 向上查找关键字
 
shift+n  反向查找关键字
less与more类似,使用less可以随意浏览文件,而more仅能向前移动,不能向后移动,而且 less 在查看之前不会加载整个文件

less log2013.log 查看文件

ps -ef | less   ps查看进程信息并通过less分页显示

history | less   查看命令历史使用记录并通过less分页显示

less log2013.log log2014.log   浏览多个文件

你可能感兴趣的:(Linux,linux,运维,服务器)