清除shell历史输入记录
$ rm ~/.bash_history
bash把历史记录保存在隐藏文件.bash_history中,这个文件在用户主目录。
在当前终端停止记录历史输入
$ unset HISTFILE
或者你可以重定向到/dev/null
$ HISTFILE=/dev/null
不记录当前执行命令
只要在命令前加一个空格,它就不会被记录:
$ command
注意:只有当HISTIGNORE环境变量设置的时候有效,例如,忽略空格设置如下:
HISTIGNORE="[ ]*"
指定历史文件保存位置
$ HISTFILE=~/doc/shell_history
在历史记录命令上加入时间戳
$ HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S"
显示历史记录
$ history
显示最近30条历史记录
$ history 30
显示10条使用频率最高的命令
$ history |
sed 's/^ +//;s/ / /' |
cut -d' ' -f2- |
awk '{ count[$0]++ } END { for (i in count) print count[i], i }' |
sort -rn |
head -10
快速执行前一条命令
$ !!
我用这个大多数是在忘了加sudo时:
$ rm -rf /
rm: cannot remove `/': Permission denied
$ sudo !!
相关主题