Linux -- 项目中查找日志的常用Linux命令

1. 查看文件内容

cat: 显示整个文件内容 (适用于文件较小的)

bash 复制代码
cat logfile.txt

2. 查看文件的前N行

head: 默认显示前10行,可以指定行数

bash 复制代码
head -n 100 logfile.txt  # 显示前100行

3. 查看文件的后N行

tail: 默认显示最后10行,可以指定行数

bash 复制代码
tail -n 100 logfile.txt  # 显示最后100行

4. 实时查看日志更新

tail -f: 持续显示文件末尾内容,适用于监控实时日志

bash 复制代码
tail -f logfile.txt

5. 搜索特定内容

grep: 在文件中搜索指定的字符串

bash 复制代码
grep "error" logfile.txt

6. 组合命令

可以组合使用这些命令来实现更复杂的日志查看:(这个项目中可能比较常用)

bash 复制代码
# 查看包含"error"的最后100行
tail -n 100 logfile.txt | grep "error"

# 实时监控包含"warning"的新日志
tail -f logfile.txt | grep "warning"

# 查看最后20000行中的前200行
cat nd-server-error-2024-10-23.0.log | tail -n +20000 | head -n 200

7. 查找大文件

find: 搜索特定大小的日志文件

bash 复制代码
find /path/to/logs -type f -size +100M

8、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

9、sed

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

按照行号

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

按照时间段

复制代码
 sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log

10、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   浏览多个文件

常用命令参数:

复制代码
less与more类似,使用less可以随意浏览文件,而more仅能向前移动,不能向后移动,而且 less 在查看之前不会加载整个文件。
less log2013.log 查看文件
ps -ef | less   ps查看进程信息并通过less分页显示
history | less   查看命令历史使用记录并通过less分页显示
less log2013.log log2014.log   浏览多个文件
常用命令参数:
-b <缓冲区大小> 设置缓冲区的大小
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
h 显示帮助界面
q 退出less 命令

一般本人查日志配合应用的其他命令

复制代码
history // 所有的历史记录

history | grep XXX  // 历史记录中包含某些指令的记录

history | more // 分页查看记录

history -c // 清空所有的历史记录

!! 重复执行上一个命令

查询出来记录后选中 : !323

linux日志文件说明

复制代码
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件

参考链接:

https://blog.csdn.net/muyekaola/article/details/143381834

https://cloud.tencent.com/developer/article/1579977

相关推荐
琉璃榴2 小时前
Visual Studio Code连接远程服务器
服务器·vscode·github
深念Y2 小时前
赛米尼M02/海纳斯HiNAS系统-WiFi驱动安装教程
运维·服务器·网络·docker·nas·机顶盒·hinas
想唱rap2 小时前
C++智能指针
linux·jvm·数据结构·c++·mysql·ubuntu·bash
会飞的土拨鼠呀3 小时前
Ubuntu24.04安装open-vm-tools
运维·服务器
Gofarlic_OMS3 小时前
应对MathWorks合规审查的专项准备工作
大数据·服务器·网络·数据库·人工智能
Strugglingler3 小时前
基于whiptail开发shell导航工具
linux·shell·ui设计·whiptail
艾醒(AiXing-w)3 小时前
Linux系统管理(二十)——Linux root磁盘不足?一站式应急清理方案(亲测可用)
linux·运维·服务器
小义_4 小时前
【Kubernetes】(五) pod2
linux·云原生·容器·kubernetes
Azure DevOps4 小时前
Azure DevOps Server:2026年4月份补丁(安装详细步骤)
运维·microsoft·azure·devops