如何使用Linux命令查看后台日志?

参考回答

在 Linux 中,查看后台日志通常使用 taillessjournalctl 等命令:

  1. 使用 tail -f 实时查看日志(推荐)
    tail -f /var/log/syslog  # 适用于大多数 Linux 发行版
    tail -f /var/log/messages  # 适用于 CentOS/RHEL
    
    Bash

    -f 选项表示 持续跟踪日志更新,适用于实时监控后台进程。

  2. 使用 less 命令翻页查看

    less /var/log/syslog
    
    Bash
    • 方向键 ↑↓PageUp / PageDown 翻页
    • /关键字 进行搜索
    • q 退出
  3. 使用 journalctl(适用于 systemd
    journalctl -f
    
    Bash

    适用于 systemd 体系的 Linux(如 Ubuntu 16.04+、CentOS 7+),它能够查看系统日志。


详细讲解与拓展

1. tail 详细用法

  • 查看最近 50 行日志
    tail -n 50 /var/log/syslog
    
    Bash
  • 实时跟踪日志,同时显示最近 20 行
    tail -n 20 -f /var/log/syslog
    
    Bash

2. less 详细用法

less 适用于大日志文件,不会一次性加载整个文件,节省内存:
打开文件

“`bash
less /var/log/syslog
“`
– **搜索日志**
“`bash
/error # 搜索 “error” 关键字,按 `n` 跳到下一个匹配项
“`

3. journalctl 进阶用法

适用于 systemd 体系:
实时查看系统日志

“`bash
journalctl -f
“`
– **查看特定服务的日志**
“`bash
journalctl -u nginx
“`
– **查看过去 1 小时的日志**
“`bash
journalctl –since “1 hour ago”
“`

4. 其他日志文件

不同的 Linux 发行版,日志文件路径可能不同:
系统日志
– Ubuntu/Debian:/var/log/syslog
– CentOS/RHEL:/var/log/messages
认证日志
– Ubuntu/Debian:/var/log/auth.log
– CentOS/RHEL:/var/log/secure
Nginx/Apache 日志

“`bash
tail -f /var/log/nginx/access.log # Nginx 访问日志
tail -f /var/log/apache2/access.log # Apache 访问日志
“`


总结

  1. 实时查看日志tail -f /var/log/syslog
  2. 翻页查看日志less /var/log/syslog
  3. systemd 体系日志journalctl -f
  4. 查找特定服务日志journalctl -u nginx
  5. 查看认证、Web 服务器等特殊日志

掌握 taillessjournalctl,可以应对不同日志查看需求,提升运维效率。

发表评论

后才能评论