基础查看方法
-
history
命令
直接输入history
会列出当前用户的所有历史命令(默认保存最近500条),每条命令前有编号:history
- 关键参数:
history 10
:显示最近10条命令。history -d 编号
:删除指定编号的历史记录(如history -d 1005
)。
- 关键参数:
-
快捷键操作
Ctrl + R
:反向搜索历史命令,输入关键词后按Enter
执行,按Ctrl+C
退出。- / 方向键:逐条浏览历史命令。
高级搜索与过滤
-
结合
grep
筛选
通过管道过滤含关键词的命令(如搜索所有含git
的命令):history | grep "git"
-
按时间查看历史记录
- 启用时间戳(临时生效):
export HISTTIMEFORMAT="%F %T " # 格式:年-月-日 时:分:秒 history
- 永久生效:将
export HISTTIMEFORMAT="%F %T "
添加到~/.bashrc
(Bash)或~/.zshrc
(Zsh)文件末尾。
- 启用时间戳(临时生效):
执行历史命令
!编号
:执行指定编号的命令(如!1024
执行编号1024的命令)。- :执行上一条命令。
- :执行最近一条以关键词开头的命令(如
!ssh
执行最近ssh
开头的命令)。
历史记录存储与配置
-
文件位置
- Bash:
~/.bash_history
- Zsh:
~/.zsh_history
使用cat
或文本编辑器直接查看文件内容。
- Bash:
-
调整历史记录数量
编辑配置文件(如~/.bashrc
):export HISTSIZE=1000 # 内存中保存的条数 export HISTFILESIZE=2000 # 历史文件保存的条数
运行
source ~/.bashrc
生效。
安全与隐私注意事项
-
清除历史记录
- 临时清除:
history -c
(仅清空当前会话内存,重启后文件记录仍存在)。 - 永久清除:
history -c && history -w # 清空内存并覆盖历史文件 rm ~/.bash_history # 删除文件(谨慎操作)
- 临时清除:
-
避免记录敏感命令
- 在命令前添加空格(需配置生效):
编辑~/.bashrc
添加export HISTCONTROL=ignorespace
,重启后带空格的命令不会被记录。 - 手动排除特定命令:
添加export HISTIGNORE="pwd:ls:exit"
忽略pwd
、ls
等命令。
- 在命令前添加空格(需配置生效):
跨Shell兼容技巧
- Bash 与 Zsh 差异:
- Zsh 默认使用
~/.zsh_history
,可通过fc -l
查看历史(history
仍可用)。 - Zsh 的搜索更强大:按 后输入关键词可直接过滤历史命令。
- Zsh 默认使用
- Fish Shell:使用
history
或内置搜索界面。
掌握历史命令管理能极大提升效率,但需注意敏感信息防护,建议:
- 定期清理历史记录(尤其含密码的操作)。
- 配置
HISTTIMEFORMAT
方便追溯操作时间。 - 善用
Ctrl+R
和 快捷操作减少重复输入。
引用说明参考自 GNU Bash 官方文档、Zsh 用户手册及 Linux 命令行安全最佳实践,具体配置细节可查阅:
- Bash 手册:历史命令
- Zsh 历史功能文档
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5791.html