Please enable Javascript to view the contents

history 命令使用

 ·  ☕ 1 分钟

1. history 命令

使用 history 命令可以查看当前会话的命令历史记录,当退出 shell 时,命令历史会被保存到对应的历史文件中。

如果是 bash,则命令历史会保存在 ~/.bash_history 文件中;如果是 zsh,则保存在 ~/.zsh_history 文件中。也可以使用 HISTFILE 环境变量来指定历史记录文件的位置,export HISTFILE=/data/ops/bash_history

2. 如何隐藏命令不被记录

2.1 第一种方式,临时关闭 history

  • 当前会话

关闭命令历史记录

1
set +o history

开启命令历史记录

1
set -o history

2.2 第二种方式,使用 HISTCONTROL 环境变量

1
export HISTCONTROL=ignorespace

这样在命令前加上空格的命令就不会被记录。比如:

1
 echo "this command will not be recorded"

2.3 第三种方式,设置 HISTSIZE 禁用 history

1
export HISTSIZE=0

3. 如何删除历史记录

3.1 删除单条历史记录

通过 history 可以查看到历史命令的编号,通过 -d 参数进行删除。

1
history -d <number>

虽然能删除指定行数的记录,但是这条删除命令会被记录下来。

如果需要完全隐藏历史记录,可以使用以下方法:

1
2
3
set +o history
history -d <number>
set -o history

3.2 清理当前回话历史

1
history -c

彻底清除当前会话的历史记录

1
2
3
set +o history
history -c
set -o history

3.3 彻底删除历史记录

history -c 只能删除当前会话的执行历史

1
2
3
set +o history
rm ~/.bash_history || rm ~/.zsh_history
set -o history

微信公众号
作者
微信公众号