history命令


语法

history [-c] [-d offset] [n] or history -anrw [filename]

常用选项

-c:clear the history list by deleting all of the entries. 清空history list。可以用 -r 选项再读回来。
-d offset:delete the history entry at offset OFFSET. 删除指定的命令历史。
-a:append history lines from this session to the history file. 将新增的history追加到history file。
-r:read the history file and append the contents to the history list. 从history file读取命令并追加到history list。
-n:read all history lines not already read from the history file.
-w:write the current history to the history file and append them to the history list. 将当前会话的history写入history file。

常用技巧

显示最近10条命令历史

history 10 

重复执行第N条命令

!n

重复执行倒数第N条命令

!-n

重复执行上一条命令

!!

重复执行最近一条以string开头的命令

!string

调用上一条命令的最后一个参数

a、快捷键:ESC+.
b、字符串:!$

通过环境变量定制 history 的功能

HISTSIZE:history可保留的命令历史的条数。如果这个值设置为0,则不记录history。
HISTFILE:命令历史文件位置。默认为 .bash_history,清空或者删除该文件,可以清除命令历史记录。
HISTFILESIZE:命令历史记录条数。(.bash_history文件)
HISTTIMEFORMAT:显示时间的格式
HISTCONTROL:控制命令历史记录,支持四种方式。
HISTCONTROL=ignoredups:忽略连续重复的命令。
HISTCONTROL=ignorespace:忽略以空白字符开头的命令。
HISTCONTROL=ignoreboth:同时忽略以上两种。
HISTCONTROL=erasedups:忽略所有历史命令中的重复命令。

下面是我在mac上的配置,仅供参考

export HISTTIMEFORMAT="%F %T "
export HISTFILESIZE=100000
export HISTSIZE=100000
export HISTCONTROL=ignoreboth

效果如下图

清空 history

当前会话执行的命令记录,放置在缓存中,正常退出或关闭时,会把缓存信息写入 ~/.bash_history。
当会话直接被kill时,缓存中的命令不会写入 ~/.bash_history。

清空当前会话中的命令记录(不影响本地历史文件)

history -c

如果要彻底清空 history,需要清空历史命令文件

> ~/.bash_history


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM