linux命令详解,日志相关
日志相关
一、系统日志相关命令
ls -l /var/log
ls
: 这是一个基本的列表命令,用于列出目录内容。-l
: 这是一个选项,表示使用长格式(long format)列出文件信息。长格式会显示更多的细节,包括文件权限、所有者、组、大小、修改时间和文件名等。/var/log
: 这是要列出内容的目录路径。/var/log
目录通常包含系统的各种日志文件。
二、认证信息日志相关命令
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
who /var/log/wtmp
:who
命令用于显示当前登录到系统的用户信息。/var/log/wtmp
是一个特殊的二进制文件,记录了所有用户的登录和注销信息。- 通过指定
/var/log/wtmp
作为参数,who
命令会从这个文件中读取登录记录。
|
:- 管道符
|
用于将前一个命令的输出作为后一个命令的输入。
- 管道符
tail -5
:tail
命令用于显示文件的末尾部分。-5
选项表示显示最后 5 行。
详细解释
- 用户名 (
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)的内容。这个缓冲区包含了系统启动时和运行过程中内核生成的各种消息,包括硬件检测、驱动程序加载、错误信息等。
五、systemd日志相关命令,journalctl
- systemd是Linux系统的初始化系统和服务管理器, 使用
journald
来收集和存储系统日志。
journalctl
是systemd
提供的一个强大工具,用于查询和显示journald
日志。journald
是systemd
的日志管理服务,负责收集和存储系统日志。以下是对journalctl
命令的详细解释和常用选项。
journalctl --since "today"
- 显示今天所有日志
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)!