当前位置:首页 > 问答 > 正文

Linux 日志管理:全面汇总Linux日志查看命令

🔍 Linux | 日志管理:全面汇总Linux日志查看命令

场景引入
凌晨3点,服务器突然报警 📢,CPU占用飙升!作为运维"救火队员"的你,第一反应是什么?没错——查日志!但面对/var/log里密密麻麻的文件,该从何下手?别慌,这份Linux日志查看命令大全就是你的"夜班急救手册"💼


📂 一、日志文件在哪?

Linux日志默认存放在/var/log/目录,常见日志文件包括:

  • 系统日志/var/log/messages(CentOS)或/var/log/syslog(Ubuntu)
  • 认证日志/var/log/auth.log(谁登录了?🔑)
  • 内核日志/var/log/kern.log(硬件/驱动问题看这里🖥️)
  • 启动日志/var/log/boot.log(开机为什么卡住?⏳)

快速定位技巧

ls -lh /var/log | grep -i error  # 查找含error关键词的日志

🔧 二、基础查看命令

cat —— 简单粗暴

适合查看小文件,大文件会刷屏到怀疑人生 😵

cat /var/log/syslog

less/more —— 优雅浏览

支持翻页、搜索(按输入关键词),推荐首选 👍

Linux 日志管理:全面汇总Linux日志查看命令

less /var/log/auth.log  # 按q退出

tail —— 盯紧最新日志

实时监控日志更新(调试必备✨):

tail -f /var/log/nginx/access.log  # Ctrl+C退出

显示最后N行:

tail -n 50 /var/log/messages  # 查看最后50行

head —— 查看日志开头

head -n 20 /var/log/boot.log  # 显示前20行

🛠️ 三、高级操作技巧

grep —— 日志"搜索引擎"

过滤包含关键词的行(比如找错误❌):

grep -i "error" /var/log/syslog  # -i忽略大小写

组合技

Linux 日志管理:全面汇总Linux日志查看命令

tail -f /var/log/apache2/error.log | grep -i "timeout"

journalctl —— systemd日志管家

查看系统服务日志(比传统日志更结构化📊):

journalctl -u nginx.service  # 查看nginx日志
journalctl --since "2025-08-01" --until "2025-08-02"  # 按时间筛选

awk/cut —— 提取特定字段

比如提取Nginx访问日志的IP地址:

awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c

logrotate —— 日志自动归档

防止日志撑爆磁盘的幕后英雄 🦸:

cat /etc/logrotate.conf  # 查看配置

� 四、疑难杂症排查案例

案例1:服务器响应变慢🐢

# 1. 检查系统负载
cat /var/log/syslog | grep -i "load average"
# 2. 分析高耗时进程
journalctl --since "10 min ago" | grep -A 5 "CPU usage"

案例2:SSH登录失败🔐

# 查看暴力破解尝试
grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c

💡 五、实用小贴士

  1. 权限问题:普通用户查看系统日志需加sudo
  2. 日志太多:用> log.txt重定向到文件慢慢分析
  3. 时间戳转换:遇到Unix时间戳?试试date -d @1654321000
  4. 彩色输出grep --color=auto让关键词高亮显示 🌈

掌握这些命令后,下次再遇到:

Linux 日志管理:全面汇总Linux日志查看命令

  • 服务崩溃 💥 → journalctl -u 服务名
  • 磁盘报警 🚨 → du -h /var/log/
  • 用户投诉 😤 → grep "用户IP" /var/log/nginx/access.log

你就能淡定地说:"让日志告诉我真相" 🕵️♂️

(注:本文命令测试环境为Ubuntu 22.04/CentOS 9,截至2025-08仍适用)

发表评论