1. 命令格式
history [选项] [参数]
- -c:清空历史记录
- -d offset:删除指定位置的历史记录
- -a:将当前会话的历史记录追加到历史文件中
- -n:从历史文件中读取尚未读取的历史记录
- -r:读取历史文件内容到当前会话
- -w:将当前历史记录写入历史文件
- -p:执行历史扩展但不执行命令
- -s:将命令添加到历史记录中但不执行
2. 基本用法
2.1 查看历史命令
history
history 10
2.2 执行历史命令
!15
!!
!git
3. 高级用法
3.1 搜索历史命令
history | grep "ssh"
export HISTTIMEFORMAT='%F %T '
history
3.2 历史记录管理
history -c
history -d 5
for i in {10..5}; do history -d 5; done
history -w ~/my_history.txt
3.3 使用历史参数
ls /usr/local/bin
cd !$
cp file1.txt file2.txt /backup/
ls !*
tar -czf backup.tar.gz /home/user
chmod 644 !^
chmod 644 !:2
4. 注意事项
4.1 历史记录存储
echo $HISTFILE
echo $HISTSIZE
echo $HISTFILESIZE
4.2 安全考虑
export HISTCONTROL=ignorespace
mysql -u root -p
export HISTSIZE=0
4.3 环境变量配置
export HISTSIZE=10000
export HISTFILESIZE=20000
export HISTCONTROL=ignoreboth
export HISTIGNORE="ls:ps:history"
export HISTTIMEFORMAT='%F %T '