简介
Linux
使用 history
命令记录命令历史记录并将其存储在文件 (~/.bash_history
或 ~/.zsh_history
) 中。可以使用不同的方法配置和操作历史记录。
常用操作
查看所有命令
history
# 这将显示所有先前执行的命令以及行号
显示最新10条命令
history 10
搜索命令历史
history | grep "keyword"
示例:
history | grep ls
使用反向搜索(CTRL + R
)
- 按
CTRL + R
并开始输入部分命令 - 继续按
CTRL + R
循环搜索命令 - 按
Enter
键执行选定的命令
执行历史记录中的命令
!<command_number>
示例:执行历史记录中第100号命令
!100
重新运行最后一个命令
!!
运行以特定单词开头的最后一个命令
!ls
清除当前会话历史记录
history -c
删除指定命令
history -d <command_number>
示例:
history -d 50
# 删除编号50的命令
永久清除历史记录
> ~/.bash_history
或
cat /dev/null > ~/.bash_history
变更历史文件位置
修改 HISTFILE
变量
export HISTFILE=~/.my_custom_history
设置存储命令的数量
export HISTSIZE=1000 # 内存中存储的命令数
export HISTFILESIZE=2000 # 历史文件中存储的命令数
忽略特定命令
export HISTIGNORE="ls:pwd:exit"
# 列出的命令将不会保存在历史记录中
忽略重复项
export HISTCONTROL=ignoredups
忽略重复的命令和前导空格
export HISTCONTROL=ignoreboth
实时将所有命令记录到文件中
export PROMPT_COMMAND='history -a'
# 这会将每个命令立即附加到历史记录中
保存时间戳在历史记录中
export HISTTIMEFORMAT="%F %T "
现在历史记录将显示:
1 2024-03-31 10:15:30 ls
2 2024-03-31 10:15:35 cd /home
防止其他用户查看你的历史记录
chmod 600 ~/.bash_history
在不同的 Shell 中查看历史记录
Bash
:history
,~/.bash_history
Zsh
:history
,~/.zsh_history
Fish
:history
,~/.local/share/fish/fish_history
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。