Linux常见命令查看日志相关

发布于 2020-06-02  1,139 次阅读


  • tail
  • head
  • cat
  • tac
  • less
  • more

命令tail
tail[参数][路径名或文件名]
说明:按照要求将指定的文件最后部分输出到标准设备
参数:
-n 显示文件的尾部n行内容
-f 循环读取
-c 输出文件尾部的N个字节内容
  • 实时显示log.out最新日志: tail -f log.out
  • 实时显示log.out最后500行: tail -500f log.out
  • 默认输出文件后10行日志: tail log.out
  • 输出文件的最后50行日志: tail -n 50 log.out
  • 输出文件的最后50个字符: tail -c 50 log.out
  • 从第5行开始输出日志:tail -n +5 log.out
命令head
head[参数][路径名或文件名]
说明:按照要求将指定的文件开头部分输出到标准设备
参数:
-n 显示文件的头部n行内容
-c 输出文件头部的N个字节内容
  • 输出日志前5行:head -n 5 /var/log/messages
  • 输出日志前10行:head /var/log/messages
  • 输出日志的前50个字符:head -c 50 /var/log/messages
  • 输出日志除最后10行的所有日志:head -n -10 /var/log/messages
  • 输出日志第10行到第20行内容:head -n 20 /var/log/messages | tail -n 10
命令cat
cat[参数][路径名或文件名]
说明:文本输出命令,由第一行开始显示内容并将所有内容输出
参数:
-n 由1开始对所有输出的行数编号
-b 对于空白行不显示编号
  • 正序输出文件的全部内容cat -n /var/log/messages
  • 同时输出两个文件的内容:cat -b /var/log/cron /var/log/messages
  • 文件合并:cat /var/log/cron /var/log/messages > file
命令tac
tac[参数][路径名或文件名]
说明:文本输出命令,从最后一行倒序显示内容并将所有内容输出
命令more
more [参数][路径名或文件名]
说明:根据窗口大小,一页一页的显示文件内容
参数:
-c 从屏幕顶部开始显示文本,每次刷新这个屏幕
-n 定义屏幕大小为n行
-f 统计逻辑行数而不是屏幕行数 (长行不会断到下一行)

快捷键

  • Enter:向下翻滚一行
  • Space:向下滚动一屏
  • Ctrl+F(或者f):向下滚动一屏
  • Ctrl+B(或者b):返回上一屏
  • q:退出
  • “:f”:输出文件名和当前行的行号
  • =:输出当前行的行号
命令less(向前向后浏览)
less[参数][路径名或文件名]
说明:用于显示文件或命令输出的内容,它一次只显示一个页面
参数:
-N 每一行行首显示行号
-i 忽略搜索时的大小写

less可以向前翻页,可能向后翻;less中内置了若干快捷键:

  • 用PageUp键向上翻页
  • 用PageDown键向下翻页
  • 用Q键退出
  • / 字符串:向下搜索"字符串"的功能
  • ? 字符串:向上搜索"字符串"的功能
  • n:重复前一个搜索
  • N:反向重复前一个搜索
  • b:向后翻一页
  • d:向后翻半页

总结

cat     由第一行开始显示内容,并将所有内容输出
tac     从最后一行倒序显示内容,并将所有内容输出
more    根据窗口大小,一页一页的显示文件内容
less    和more类似,但其优点可以往前翻页,而且进行可以搜索字符
head    只显示头几行
tail    只显示最后几行

一名测试工作者,专注接口测试、自动化测试、性能测试、Python技术。