自学内容网 自学内容网

linux命令详解,日志相关

日志相关

一、系统日志相关命令

ls -l /var/log
  • ls: 这是一个基本的列表命令,用于列出目录内容。
  • -l: 这是一个选项,表示使用长格式(long format)列出文件信息。长格式会显示更多的细节,包括文件权限、所有者、组、大小、修改时间和文件名等。
  • /var/log: 这是要列出内容的目录路径。/var/log 目录通常包含系统的各种日志文件。

image.png

二、认证信息日志相关命令

sudo tail -3 /var/log/auth.log

/var/log/auth.log或/var/log/secure
记录认证和授权信息,内容有登录尝试、SSH 连接、sudo 命令执行等
  • sudo: 用于临时提升当前用户的权限,以便以超级用户(root)的身份执行命令。
  • tail: 用于显示文件的末尾部分。
  • -3: 指定要显示文件的最后 3 行。
  • /var/log/auth.log: 要查看的文件路径。/var/log/auth.log 通常是系统认证日志文件,记录了系统登录、权限验证等相关信息。

三、二进制日志相关命令

who /var/log/wtmp | tail -5
  1. who /var/log/wtmp:
    • who 命令用于显示当前登录到系统的用户信息。
    • /var/log/wtmp 是一个特殊的二进制文件,记录了所有用户的登录和注销信息。
    • 通过指定 /var/log/wtmp 作为参数,who 命令会从这个文件中读取登录记录。
  2. |:
    • 管道符 | 用于将前一个命令的输出作为后一个命令的输入。
  3. tail -5:
    • tail 命令用于显示文件的末尾部分。
    • -5 选项表示显示最后 5 行。
      image.png
      详细解释
  • 用户名 (kali):
    • 这是登录到系统的用户名。在这个例子中,用户名是 kali
  • 终端 (tty7):
    • tty7 是一个虚拟终端,通常用于图形界面。在 Linux 系统中,tty1 到 tty6 通常用于文本模式的登录,而 tty7 通常用于第一个图形会话。
  • 日期 (2024-11-06):
    • 这是用户登录的日期。在这个例子中,用户在 2024 年 11 月 6 日登录。
  • 时间 (10:40):
    • 这是用户登录的时间。在这个例子中,用户在 10:40 登录。
  • 附加信息 ((:0)):
    • 这个信息表示图形会话的显示编号。(:0) 表示这是第一个图形会话。在多显示器或多用户环境中,可能会有多个显示编号,如 :1:2 等。

四、dmesg

用于显示内核环缓冲区(kernel ring buffer)的内容。这个缓冲区包含了系统启动时和运行过程中内核生成的各种消息,包括硬件检测、驱动程序加载、错误信息等。
image.png

五、systemd日志相关命令,journalctl

  • systemd是Linux系统的初始化系统和服务管理器, 使用 journald 来收集和存储系统日志。
    journalctlsystemd 提供的一个强大工具,用于查询和显示 journald 日志。journaldsystemd 的日志管理服务,负责收集和存储系统日志。以下是对 journalctl 命令的详细解释和常用选项。
journalctl --since "today"
  • 显示今天所有日志
    image.png
1. 显示所有日志
journalctl

这个命令会显示 journald 中的所有日志条目。

2. 实时监控日志
journalctl -f

这个命令会实时显示新的日志条目,类似于 tail -f

3. 按时间范围过滤
  • 显示最近 10 分钟的日志
    journalctl --since "10 minutes ago"
    
  • 显示今天的所有日志
    journalctl --since "today"
    
  • 显示昨天的所有日志
    journalctl --since "yesterday" --until "today"
    
  • 显示特定日期范围的日志
    journalctl --since "2023-10-01" --until "2023-10-05"
    
4. 按服务过滤
  • 显示特定服务的日志(例如 sshd):
    journalctl -u sshd
    
  • 显示多个服务的日志
    journalctl -u sshd -u nginx
    
5. 按优先级过滤
  • 显示错误级别及以上的日志
    journalctl -p err
    
  • 支持的优先级
    • emerg(紧急)
    • alert(警报)
    • crit(严重)
    • err(错误)
    • warning(警告)
    • notice(通知)
    • info(信息)
    • debug(调试)
6. 按用户过滤
  • 显示特定用户的日志
    journalctl _UID=1000
    
7. 按机器过滤
  • 显示特定机器的日志
    journalctl --machine=hostname
    
8. 按进程 ID 过滤
  • 显示特定进程的日志
    journalctl _PID=1234
    
9. 按单元过滤
  • 显示特定单元的日志
    journalctl _SYSTEMD_UNIT=sshd.service
    
10. 显示日志条目的详细信息
  • 显示每条日志的详细信息
    journalctl -o verbose
    
11. 导出日志
  • 将日志导出为 JSON 格式
    journalctl -o json > logs.json
    
  • 将日志导出为短格式
    journalctl -o short > logs.txt
    
12. 按字段过滤
  • 显示包含特定字段的日志
    journalctl MESSAGE="failed to start"
    
13. 显示特定数量的日志条目
  • 显示最近 10 条日志
    journalctl -n 10
    
14. 显示日志的简短格式
  • 显示日志的简短格式
    journalctl -o short
    
15. 显示日志的机器可读格式
  • 显示日志的机器可读格式
    journalctl -o json-pretty
    
显示 sshd 服务的最近 10 条日志
journalctl -u sshd -n 10
实时监控 sshd 服务的日志
journalctl -u sshd -f
显示昨天到今天的 sshd 服务日志
journalctl -u sshd --since "yesterday" --until "today"
显示错误级别及以上的日志
journalctl -p err
导出 sshd 服务的日志为 JSON 格式
journalctl -u sshd -o json > sshd_logs.json

原文地址:https://blog.csdn.net/2202_75361164/article/details/143611052

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!