Linux查询|搜索|过滤|文本日志命令汇总

发布于:2024-03-29 ⋅ 阅读:(23) ⋅ 点赞:(0)

可以查询文本内容,和查看日志

创建文本

创建新文件

[root@localhost temp]# touch a.txt

创建新文件并使用vi编辑文件
键盘输入[i]进入输入模式,键盘[Esc]退出出输入,键盘[:wq]保存退出

[root@localhost temp]# vi a.txt

在文件中写入测试数据

123
456
789
zhang
li
wang
q
w
e
r
t
y

cat

用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

cat会显示文件所有内容,使用-n参数,列出行号

[root@localhost temp]# cat -n a.txt 
     1	123
     2	456
     3	789
     4	zhang
     5	li
     6	wang
     7	q
     8	w
     9	e
    10	r
    11	t
    12	y

tac

文件内容反向显示

[root@localhost temp]# tac a.txt
u
y
t
r
e
w
q
wang
li
zhang
789
456
123

more

more 命令和 cat 的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。

参数:

  • +n 从笫n行开始显示
  • -n 定义屏幕大小为n行
  • +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示

操作:

  • Enter:向下n行,需要定义。默认为1行
  • Ctrl+F:向下滚动一屏
  • 空格键:向下滚动一屏
  • Ctrl+B:返回上一屏
  • = :输出当前行的行号
  • f :输出文件名和当前行的行号
  • V :调用vi编辑器
  • !命令 :调用Shell,并执行命令
  • q :退出more

直接使用,百分比显示部分内容,输入数字再回车,会按百分比继续向下翻页

[root@localhost temp]# more a.txt 
123
456
789
zhang
li
wang
q
w
e
r
t
y
u
i
o
--更多--(60%)

显示文件第2行起内容

[root@localhost temp]# more +2 a.txt 

从文件查找第一个出现“123”字符串的行,并从该处前2行开始显示输出

[root@localhost temp]# more +/123 a.txt 

less

less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

参数:

  • -b <缓冲区大小> 设置缓冲区的大小
  • -e 当文件显示结束后,自动离开
  • -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
  • -g 只标志最后搜索的关键词
  • -i 忽略搜索时的大小写
  • -m 显示类似more命令的百分比
  • -N 显示每行的行号

操作:

  • /字符串:向下搜索“字符串”的功能
  • ?字符串:向上搜索“字符串”的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • N:反向重复前一个搜索(与 / 或 ? 有关)
  • b 向后翻一页
  • d 向后翻半页
  • h 显示帮助界面
  • Q 退出less 命令
  • u 向前滚动半页
  • y 向前滚动一行
  • 空格键 滚动一行
  • 回车键 滚动一页
  • [pagedown]: 向下翻动一页
  • [pageup]: 向上翻动一页
[root@localhost temp]# less a.txt 

head

head 用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。

显示前3行内容

[root@localhost temp]# head -3 a.txt 

tail

显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

参数:

  • -f 循环读取
  • -q 不显示处理信息
  • -v 显示详细的处理信息
  • -c<数目> 显示的字节数
  • -n<行数> 显示行数
  • –pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.
  • -q, --quiet, --silent 从不输出给出文件名的首部
  • -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

查看倒数3行内容

[root@localhost temp]# tail -3 a.txt

循环查看文件内容,可以看到正在更新的内容

[root@localhost temp]# tail -f a.txt

grep

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

参数:

  • -c 计算找到‘搜寻字符串’(即 pattern)的次数
  • -i 忽略大小写的不同,所以大小写视为相同
  • -n 输出行号
  • -v 反向选择,打印不匹配的行
  • -r 递归搜索
  • –color=auto 将找到的关键词部分加上颜色显示

按字符串查询,会显示匹配结果的行,并标红色关键字

[root@localhost temp]# grep "123" a.txt 
123

同样效果

[root@localhost temp]# cat a.txt | grep "23"
123

反选,将文件没有错出现“2”和“a”的行打印出来

[root@localhost temp]# grep -v "2" a.txt | grep -v "a"
本文含有隐藏内容,请 开通VIP 后查看