在 Linux 系统中,/var/log 目录用于存放各种日志文件,这些日志文件记录了系统运行、应用程序活动、安全事件等信息。

查看 Shell 历史命令直接使用 history
第一检查 Shell 配置,确保你的 shell(列如 bash)配置文件(如 .bashrc 或 .bash_profile)中启用了历史记录功能,一般都会默认配置。你可以通过编辑.bashrc文件来确认是否进行了相关配置。
第一步:编辑 .bashrc 文件
nano ~/.bashrc
第二步:查找以下行(如果没有添加上,这样才会使history生效)
# 历史记录的最大条目数
HISTSIZE=1000
# 历史记录文件的最大大小(单位:行数)
HISTFILESIZE=2000
# 忽略重复命令和以空格开头的命令
HISTCONTROL=ignoredups:ignorespace
# 将新的命令追加到历史文件中,而不是覆盖
shopt -s histappend
第三步:保存并关闭文件。使更改生效,通过运行:
source ~/.bashrc
在大多数 Linux 系统中,可以通过 history 命令查看 shell 的操作历史:
- Bash Shell或者Zsh Shell:
#在终端输入 history 命令并按回车,这将列出你之前输入过的所有命令
history
- 结合grep来过滤查看操作日志
history | grep '关键字'
亦或者Bash的历史记录一般保存在 ~/.bash_history 文件中。你可以直接查看这个文件来获取历史命令:
cat ~/.bash_history
确保你在使用的 shell 支持历史记录功能。在 Ubuntu 中,默认的 shell 是 bash。你可以通过运行 echo $SHELL 来检查当前使用的 shell。如果不是 bash,你需要切换到 bash 或者检查该 shell 的配置方式。
查看/var/log下其他日志文件
如果要查找特定的日志文件,如系统日志、应用程序日志等,可以查看以下常见目录:
- /var/log/syslog 或 /var/log/messages: 包含系统消息和系统日志。
- /var/log/auth.log 或 /var/log/secure: 包含认证和安全相关的日志。
- /var/log/dmesg: 显示内核和硬件相关的启动信息。
- /var/log/<application-name>: 某些应用程序会在其自己的目录下创建日志文件,例如 /var/log/apache2/ 对于 Apache 服务器。
其他 Shell(如果需要)
如果你使用的是如 zsh 或 fish 等其他 shell,它们的配置方式可能不同。例如,对于 zsh,配置文件是 .zshrc,而对于 fish,是
~/.config/fish/config.fish。根据你使用的 shell,调整相应的配置文件。
配置 Linux 系统记录用户命令
/var/log/history/root 是一个用于存储 root 用户操作日志的目录路径。当配置 Linux 系统记录用户命令历史时,该目录会以每个用户(如 root)为名创建子文件夹,用于存放对应用户的日志文件。
- 目录作用:该目录是自定义日志存储位置的一部分,用于保存 root 用户每次登录后执行的命令历史。日志文件一般以用户名、登录 IP 和时间命名,例如 root@192.168.0.105_20210520_16:00:12,其中包含本次会话的所有操作命令。
- 权限设置:目录权限一般设置为仅允许 root 用户访问(如 d-wx——),以确保日志安全,普通用户无法读取其他用户的历史记录。
- 配置要求:在启用此功能前,需通过修改 /etc/profile 或类似配置文件,并确保 root 用户先登录一次以创建 /var/log/history 目录。否则,普通用户登录时可能因权限不足而无法生成日志。
假设配置好了root用户的日志位置,可通过以下命令查看日志:
#进入目录
cd /var/log/history/root
#按修改时间倒序排列(最新修改的文件在最后)列出日志
ll -lrt root@*_20251223*
#过滤关键字查看日志
cat root@*_20251223*|grep "关键字"
衷心感谢您的阅读!诚邀您关注我的账号,以便获取更多与之相关的知识,大家共同学习进步!
往期内容:查看Linux主机进程线程及网络情况






收藏了,感谢分享