系统消息记录主要指系统运行过程中产生的状态、错误、服务日志等,以下是常用方法:
journalctl 命令(适用于CentOS 7及以上版本)journalctl 是 systemd 的日志管理工具,可集中查看系统和服务日志,支持过滤、实时监控等功能:
journalctljournalctl -u <service_name>(例如 journalctl -u httpd 查看Apache日志)journalctl --since "YYYY-MM-DD HH:MM:SS" --until "YYYY-MM-DD HH:MM:SS"(例如 journalctl --since "2025-09-01" --until "2025-09-30" 查看9月日志)journalctl -f(类似“tail -f”,持续输出新日志)journalctl -p err(err 表示错误级别,其他级别包括 emerg、alert、crit 等)传统日志文件存储在 /var/log 目录下,可通过以下命令查看:
less /var/log/messages(包含系统启动、服务状态等通用信息)less /var/log/secure(记录认证、sudo使用、SSH登录等安全事件)dmesg(显示内核启动信息、硬件检测结果、驱动加载情况等)
dmesg -wdmesg | tail -n 50(显示最后50条)tail 命令实时监控日志若需实时查看日志文件的更新(如服务异常时的日志输出),可使用 tail -f:
/var/log/messages:tail -f /var/log/messagesjournalctl 输出:journalctl -f(效果同上)grep 过滤关键词若需查找特定内容的日志(如“error”“timeout”),可结合 grep 命令:
journalctl 中查找“error”:journalctl | grep "error"/var/log/messages 中查找“timeout”:grep "timeout" /var/log/messagesjournalctl -f | grep "error"若需查看当前用户执行过的命令(而非系统消息),可使用以下方法:
history 命令history 命令显示当前用户在本会话及历史会话中执行过的命令(默认保存在 ~/.bash_history 文件中):
historyhistory 10!<编号>(例如 !123)!<关键词>(例如 !yum)history | grep "ssh"(查找所有包含“ssh”的历史命令)~/.bash_history(当前用户的命令历史文件)cat ~/.bash_history 或 less ~/.bash_history~/.bashrc 文件调整(影响当前用户):export HISTSIZE=1000 # 当前会话内存中保留的命令数量
export HISTFILESIZE=2000 # 历史文件中保存的最大命令数量
修改后执行 source ~/.bashrc 使设置生效若需在历史记录中显示命令执行的时间,可设置 HISTTIMEFORMAT 环境变量:
export HISTTIMEFORMAT="%F %T "(格式为“年-月-日 时:分:秒”)~/.bashrc 文件中,然后执行 source ~/.bashrc1001 2025-09-15 14:30:01 ls -l
1002 2025-09-15 14:30:10 cd /var/log
1003 2025-09-15 14:30:15 tail -f messages
/var/log/messages、journalctl)通常需要 root 权限(可使用 sudo 提权,例如 sudo journalctl)。su - <username>)或直接读取其 ~/.bash_history 文件(需root权限)。less、grep 等工具分页或过滤查看,避免直接使用 cat 导致终端卡顿。