Linux Shell 的历史命令记录功能(History)是提高工作效率的重要工具。以下是详细使用方法及优化技巧:
history # 显示所有历史命令(带行号)
history 10 # 显示最近10条命令
!n # 执行历史记录中第n条命令(n为history显示的编号)
!! # 执行上一条命令
!string # 执行最近一条以string开头的命令
bash
Ctrl + R # 进入搜索模式,输入关键字
Ctrl + R # 继续向前搜索
Enter # 执行当前匹配的命令
Ctrl + G # 退出搜索
grep
过滤:
bash
history | grep "apt"
~/.bashrc
或~/.zshrc
)export HISTSIZE=5000 # 内存中保存的历史命令数量
export HISTFILESIZE=10000 # 历史文件保存的最大行数
export HISTTIMEFORMAT="%F %T " # 显示命令执行时间(需Bash 4.3+)
export HISTCONTROL=ignoredups # 忽略重复命令(可选值:ignorespace忽略空格开头,ignoreboth两者)
export HISTIGNORE="ls:cd:pwd" # 忽略指定命令
source ~/.bashrc # 重新加载配置
history -c # 清空内存中的历史(当前会话)
history -w # 立即将内存历史写入文件(覆盖)
history -a # 追加当前会话命令到历史文件
> ~/.bash_history # 彻底清空历史文件
HISTCONTROL=ignorespace
):
bash
mysql -u root -p密码 # 不会被记录
bash
unset HISTFILE # 当前会话不记录历史
export PROMPT_COMMAND="history -a; history -c; history -r" # 实时同步
~/.bash_history
~/.zsh_history
bash
cat ~/.bash_history
~/.zshrc
,支持更强大的历史搜索(如history-substring-search
插件)。history
命令或Ctrl + R
调用。HISTSIZE
和HISTFILESIZE
是否过小,或会话异常退出。HISTTIMEFORMAT
。通过合理配置历史记录功能,可以极大提升命令行操作效率!