Linux系统查看log日志命令详解!

在 Linux 系统上,查看日志文件是系统管理和故障排除的常见操作。
下面您将找到常用命令的详细解释和示例。
1 .tail命令 功能:显示文件末尾的内容。
常用于查看最新日志。
常用选项: -n<行数>:指定显示的行数(默认为1 0行)。
-f:实时跟踪文件更新(按Ctrl+C退出)。
示例:tail -n2 0 /var/log/syslog#显示syslog的最后2 0行 tail -f /var/log/nginx/error.log#Nginx错误日志实时监控 2 .head命令 功能:显示文件开头的内容。
适合查看旧日志。
常用选项: -n<行数>:指定显示的行数(默认为1 0行)。
示例: head-n1 5 /var/log/auth.log#显示认证日志的前1 5 行。
3 .cat命令 功能:一次性输出文件的全部内容。
适合小型日志文件。
注意:大文件可能会冻结您的设备。
建议与 less 或 grep 结合使用。
示例: cat/var/log/dmesg#Display kernel boot log 4 . grep 命令的作用: 查找文件中与特定模式匹配的行。
常用选项: -i:忽略大小写。
-n:显示匹配行的行号。
-r:递归搜索目录。
示例: grep -i "failed" /var/log/syslog#查找包含“failed”的行(忽略大小写) grep -n"4 04 "/var/log/nginx/access.log#显示包含“4 04 ”的行及其行号 grep -r "timeout"/var/log/#/var/log 在 5 .less 下的所有文件中递归搜索“timeout”命令功能:浏览、搜索和导航页面内的文件。
操作:您可以使用方向键或PageUp/PageDown 进行翻页。
输入 / 后跟您的关键字搜索(按 n 跳转到下一个匹配项)。
按 q 退出。
示例:less/var/log/apache2 /error.log#翻阅Apache错误日志 6 、其他实用命令journalctl(Systemd系统):显示系统日志(需要root权限):journalctl-ungix.service--no-pager-n5 0#显示Nginx服务的最后5 0条日志awk/sed:高级文本处理(如提取特定列或替换内容): awk'{print$1 ,$3 }'/var/log/auth.log# 输出第1 、3 列 使用场景建议 实时监控:tail -f 快速识别错误:grep "error"/var/log/syslog 分析大文件:用less或grep过滤后查看 系统服务日志:先使用journalctl。
通过组合这些命令,您可以高效地执行日志分析任务。

Linux日志查询常用命令!

常用的Linux日志查询命令有grep、tail、head、awk、sed等。
具体说明如下: grep命令用于搜索日志文件中的特定文本模式,支持正则表达式匹配。
基本语法:grep log file "pattern" 示例:grep "error"/var/log/syslog 在 /var/log/syslog 中搜索包含“error”的行并输出匹配结果。
扩展用法:grep -i "error" /var/log/syslog:忽略匹配“error”的大小写。
grep -v "success"/var/log/syslog:向后匹配,输出不包含“success”一词的行。
grep -E "error|warning" /var/log/syslog:使用正则表达式匹配“错误”或“警告”。
tail命令用于显示日志文件的结尾,常用于监控实时日志更新情况。
基本语法:行号日志文件 tail -n 示例:tail -n1 00 /var/log/messages 显示 /var/log/messages 的最后 1 00 行。
扩展用法:tail -f /var/log/nginx/access.log:实时跟踪日志文件中的新内容(按Ctrl+C退出)。
tail -n+5 0 /var/log/messages:输出从第5 0行开始的剩余文件内容。
head命令用于显示日志文件的开头,快速定位到文件的开头内容。
基本语法:行号日志文件 head-n 示例:head-n2 0/var/log/auth.log 显示 /var/log/auth.log 的前 2 0 行。
扩展使用: head-c1 00 /var/log/messages:输出文件的前1 00个字节(不是行)。
与 tail 一起使用:head-n1 00/var/log/messages|tail-n2 0:提取第 8 1 -1 00 行。
awk 命令是一个功能强大的文本处理工具,可以按列提取、计算或格式化记录字段。
基本语法:awk 日志文件 'condition {action}' 示例:awk '{print$1 ,$3 }' /var/log/messages:输出每行的第一列和第三列。
awk'$5 >1 00{print$0}'/var/log/nginx/access.log:过滤掉第5 列中值大于1 00的行。
扩展用法:awk -F:'{print$1 }'/etc/passwd:使用冒号作为分隔符提取第一列。
awk'{sum+=$1 }END{printsum}'/var/log/data.log:计算第1 列中的值的总和。
sed命令流编辑器,用于替换、删除或插入日志文件中的文本。
基本语法:sed 日志文件 'command' 示例:sed's/errors/warnings/g'/var/log/syslog:将所有 'errors' 替换为 'warnings'。
sed'/^#/d'/etc/nginx/nginx.conf:删除以#开头的注释行。
扩展使用: sed -i's/old/new/g'file.log:直接修改文件(-i参数慎用)。
sed'1 ,5 d'/var/log/messages:删除第1 到5 行。
混合使用技巧:grep+awk: grep "4 04 "/var/log/nginx/access.log|awk'{print$1 }' 首先过滤掉包含“4 04 ”的行,然后提取客户端的IP地址(第1 列)。
tail+grep: tail -f /var/log/syslog|grep "ssh" 实时监控系统日志,仅显示SSH相关内容。
awk+排序+uniq:awk'{print$1 }'/var/log/nginx/access.log|sort|uniq-c|sort-nr 统计访问日志中每个IP出现的次数,并按照出现次数降序排序。
注意:日志文件路径可能因系统或服务而异。
常见路径包括: /var/log/syslog:系统通用日志 /var/log/auth.log:认证相关日志 /var/log/nginx/:Nginx 服务日志目录。
有些命令(例如 sed -i)会直接修改文件。
建议先做好备份或者使用重定向输出。
权限问题:查看系统日志可能需要sudo权限(如sudotail /var/log/secure)。