在Linux和Unix-like系统中,crt通常指代SecureCRT这类终端仿真软件,用户通过它连接远程服务器后,需结合系统命令查看日志,以下是常见的日志查看命令及其实际应用场景,结合表格对比和操作细节展开说明。

(图片来源网络,侵删)
核心日志查看命令
tail命令:实时追踪日志末尾
tail是动态查看日志的首选工具,尤其适用于监控实时更新的日志文件。
- 基础语法:
tail -f 日志文件路径
查看Nginx访问日志的实时更新:
tail -f /var/log/nginx/access.log
- 常用参数:
| 参数 | 功能 | 示例 | |------|------|------| |-n| 显示末尾指定行数 |tail -n 100 error.log(显示最后100行) | |-c| 显示末尾指定字节数 |tail -c 512 log.txt(显示最后512字节) | |-F| 自动跟随文件名变化(如日志轮转) |tail -F /var/log/syslog|
grep命令:过滤关键词
grep结合正则表达式快速定位日志中的关键信息。
- 基础语法:
grep "关键词" 日志文件路径
过滤包含“ERROR”的日志行:
(图片来源网络,侵删)grep "ERROR" /var/log/application.log
- 高级用法:
- 忽略大小写:
grep -i "error" log.txt - 显示匹配行号:
grep -n "2023-10-01" log.txt - 递归搜索目录:
grep -r "exception" /var/log/
- 忽略大小写:
cat与less命令:查看完整日志
cat:直接输出整个文件内容,适合小文件:cat /var/log/installer/syslog
less:分页查看大文件,支持上下翻页和搜索:less /var/log/kern.log
操作技巧:输入搜索,按
q退出。
journalctl命令:查看系统服务日志(Systemd)
对于使用Systemd的系统,journalctl是查看系统日志的核心工具。
- 基础语法:
journalctl -u 服务名
查看nginx服务的日志:
journalctl -u nginx.service
- 常用参数:
| 参数 | 功能 | 示例 | |------|------|------| |-b| 显示本次启动后的日志 |journalctl -b -u nginx| |-f| 实时跟踪日志 |journalctl -f -u mysql| |--since| 指定时间范围 |journalctl --since "2023-10-01 10:00"|
awk命令:结构化日志处理
awk适合按列提取或统计日志数据。
- 示例:统计访问日志中每个IP的请求次数:
awk '{print $1}' access.log | sort | uniq -c | sort -nr
实际操作场景
场景1:排查Web服务器错误
- 使用
tail -f实时监控Nginx错误日志:tail -f /var/log/nginx/error.log
- 发现“502 Bad Gateway”错误后,用
grep过滤相关时间段的日志:grep "2023-10-01T12:00" /var/log/nginx/error.log
场景2:分析应用性能问题
- 通过
less查看应用日志,搜索“slow query”:less /var/log/app/performance.log
- 结合
awk提取耗时超过1秒的SQL语句:awk '$NF > 1000 {print $0}' slow_query.log
注意事项
- 权限问题:某些日志文件(如
/var/log/auth.log)需root权限才能访问,可使用sudo:sudo tail -f /var/log/auth.log
- 日志轮转:大型日志文件可能被切割(如
access.log.1),需检查/var/logrotate.d/配置。 - 编码问题:若日志含中文,确保终端支持UTF-8编码(SecureCRT可通过选项设置)。
相关问答FAQs
Q1: 如何在SecureCRT中高效过滤日志中的错误信息?
A1: 在SecureCRT连接服务器后,可通过以下步骤操作:
- 使用
grep命令过滤错误,grep -i "error\|exception" /var/log/app.log | less
- 若需实时监控,结合
tail和grep:tail -f /var/log/app.log | grep "ERROR"
- 在SecureCRT中,可启用“Log Session”功能记录终端输出,再使用文本编辑器的搜索功能二次过滤。
Q2: 日志文件过大导致查看缓慢,如何优化?
A2: 可采用以下方法优化:
- 按行数截取:用
tail或head只查看部分内容,例如查看最近1000行:tail -n 1000 large.log
- 按时间范围过滤:若日志带时间戳,用
sed或awk提取特定时间段:sed -n '/2023-10-01 12:00/,/2023-10-01 13:00/p' large.log
- 使用
zcat处理压缩日志:若日志被gzip压缩(如access.log.gz),可直接解压查看:zcat access.log.gz | grep "POST"
- 启用日志轮转:修改
/etc/logrotate.conf配置,定期压缩或删除旧日志。
