在shell命令行执行过的命令默认会保存到历史命令中,这些历史命令可以通过内建命令history和fc进行查看,下面对history命令做个介绍。
history [n]
history -c
history -d offset
history -anrw [filename]
history -p arg [arg ...]
history -s arg [arg ...]
history命令有以上几种用法,如果没有任何选项,就列出历史命令和对应的行号,前面带有符号“*”
的行是被修改过,参数n表示只列出最后n行。历史命令默认保存在shell变量HISTFILE指定的文件中,一般为用户主目录下的隐藏文件“.bash_history”,还可以设置历史命令保存到自定义文件filename中。其它选项的含义如下。
“-c”:清除历史命令。
“-d offet”:删除偏移量为offset处的历史命令行。
“-a”:把当前bash会话开始后的命令添加到历史命令文件。
“-n”:把历史中尚未读取的行附加到当前的历史中,这些行是当前bash会话开始后附加到历史文件中去的。
“-r”:读取历史文件,把其内容附加到当前的历史中。
“-w”:把当前的历史覆盖写入到历史文件中。
“-p”:对参数进行历史扩展并在标准输出上显示其结果,而不是把结果存放在历史中。
“-s”:把参数作为单个条目附加到历史中。
对于历史命令有许多扩展,下面总结常见的几个。
“!!”:执行最后一个历史命令。
“!n”:执行行号为n的历史命令,可以是负数,表示从最大行号开始倒数。
“!string”:执行最近的开始为string的命令。