linux中可通过history命令查看历史记录,支持编号执行、前缀匹配、方向键调用及配置参数调整。

如果您在Linux终端中执行过大量命令,但需要快速查找之前使用过的特定命令,则可以通过history命令回溯操作记录。以下是查看和管理历史命令的多种方法:
一、使用history命令显示全部历史记录
history命令默认读取当前用户家目录下的~/.bash_history文件,并将已执行命令按时间顺序列出,每条命令前带有编号,便于后续调用或重复执行。
1、在终端中直接输入history并按回车键,显示全部历史命令列表。
2、若只想查看最近50条命令,输入history 50并按回车键。
3、执行history | tail -n 20可仅显示末尾20条命令记录。
二、使用上下方向键快速调用历史命令
该方式不依赖history命令本身,而是由Bash shell内置的行编辑功能实现,可避免手动输入长命令,提高操作效率。
1、按下键盘上的↑(上方向键),逐条向上翻阅最近执行过的命令。
2、按下↓(下方向键),向下浏览已调出但尚未执行的命令。
3、找到目标命令后,按Enter直接执行,或按左/右方向键进行光标定位与局部修改。
三、使用!加编号执行指定历史命令
通过命令编号可精确复用某一条历史记录,适用于需多次执行同一复杂命令的场景,无需重新输入或复制粘贴。
1、先运行history获取目标命令前的编号,例如显示为123 ls -la /var/log。
2、输入!123并按回车键,立即执行编号123对应的命令。
3、输入!123:p可仅打印该命令内容而不执行,用于确认是否为目标命令。
四、使用!加字符串执行最近匹配的历史命令
该机制基于命令前缀匹配,自动调用最近一次以指定字符开头的历史命令,适合快速重跑相似命令。
1、输入!!并按回车键,重复执行上一条命令。
2、输入!ls并按回车键,执行最近一次以ls开头的命令。
3、输入!grep:s/old/new/可在最近一次grep命令基础上将old替换为new后执行。
五、查看和修改历史记录存储配置
历史命令默认保存在~/.bash_history中,但具体行为受HISTSIZE和HISTFILESIZE等环境变量控制,调整这些参数可改变内存缓存条数与文件持久化数量。
1、运行echo $HISTSIZE查看当前会话中保留于内存的历史命令条数。
2、运行echo $HISTFILESIZE查看写入~/.bash_history文件的最大条数。
3、临时修改当前会话限制:执行HISTSIZE=1000和HISTFILESIZE=2000,随后新命令将按新数值缓存与落盘。










