输入history命令可查看Linux终端执行记录,结合grep过滤或Ctrl+R反向搜索可高效定位命令,通过HISTSIZE、HISTFILESIZE等变量可自定义历史记录行为,避免丢失需注意正常退出及多终端同步问题。

在Linux系统里,想回顾你敲过的那些命令?其实非常简单,直接在终端输入
history
history
简单来说,你只需要在终端里敲下:
history
回车后,你就会看到一个长长的列表,每一行前面都有一个数字编号,后面跟着你执行过的命令。这个编号在后续的操作中会很有用,比如你想重新执行第123条命令,可以直接用
!123
如果历史记录太长,你只想看最近的几条,可以这样:
history 10
这会显示最近的10条命令。是不是很方便?这东西简直是我的第二大脑,尤其是在调试一些复杂脚本或者配置的时候,少不了它。
当我们面对成百上千条历史命令时,仅仅是滚动屏幕显然不够高效。我个人最常用的方法,也是我强烈推荐的,就是结合
grep
首先,如果你想查找包含特定关键词的命令,比如你记得之前用
apt
history | grep apt
这样,
history
grep
grep
更高级、更便捷的方式是使用反向增量搜索(Reverse-i-search)。在大多数Bash或Zsh终端中,你可以按下
Ctrl + R
ssh
Ctrl + R
Enter
Linux的命令历史记录并非一成不变,你可以根据自己的需求来调整它的行为,比如记录多少条命令、哪些命令不记录,以及如何保存。这些都通过一些环境变量来控制。
HISTSIZE
echo $HISTSIZE # 设置为2000条 export HISTSIZE=2000
HISTFILESIZE
~/.bash_history
echo $HISTFILESIZE # 设置为4000条 export HISTFILESIZE=4000
通常我会把
HISTFILESIZE
HISTSIZE
HISTCONTROL
ignorespace
ignoredups
ls -l
erasedups
ignoreboth
ignorespace
ignoredups
export HISTCONTROL=ignoreboth
HISTIGNORE
ls
cd
HISTIGNORE
export HISTIGNORE="ls:cd:pwd:exit"
这里的命令用冒号分隔。
这些配置通常会放在你的
~/.bashrc
~/.zshrc
source ~/.bashrc
遇到命令历史记录不完整或丢失的情况,这其实挺常见的,背后的原因也多种多样。我个人就经历过几次,每次排查都像是侦探破案。
一个主要原因与shell的会话管理有关。默认情况下,Bash会在你正常退出(比如输入
exit
~/.bash_history
kill -9
其次,多终端并发也可能导致问题。如果你同时打开了多个终端窗口,它们各自维护一个内存中的历史列表。当它们退出时,可能会互相覆盖
~/.bash_history
setopt SHARE_HISTORY
PROMPT_COMMAND
还有一种情况是手动清理。你或者某个脚本可能执行了
history -c
~/.bash_history
最后,环境变量的不当配置也可能“坑”你。比如,如果
HISTSIZE
HISTFILESIZE
HISTFILE
以上就是如何在Linux中查看命令历史?使用history命令查看历史操作记录的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号