History用法详解
作用:显示或操作历史列表
用法:history[-c] [-d offset]
history -anrw[filename]
history -ps arg[arg...]
参数选项:
-c:清空历史记录
清空的是内存中的历史,文件中历史还存在,重新登录后还能看到历史记录。
要彻底清除历史记录有两种方法:
1.清除所有用户的历史记录:在/etc/profile文件中加入HISTSIZE=0
清除单个用户的历史文件:在该用户家目录下的.bash_profile文件中加
入HISTSIZE=0.
2.删除存放历史记录的文件,再执行history -c命令
-d:删除历史中指定的命令
history -d 3(删除第三条命令)
history+数字
显示对应数量的历史命令
-a:
将内存中新添加的命令写入文档(.bash_history)中
-n:读历史文件中未读到的行到历史列表
开启两个终端,将其中一个终端的历史列表写入(-a)历史文件(.bash_history)
中,另一个终端执行history -n命令即可将命令历史显示在其终端上的历
史列表中
-r:
读历史文件附加到历史列表
-w:
保存历史列表到文件(若不存在文件,该文件将被创建;若文件有内容,
内容将被覆盖)
-p:鸡肋功能!
[[email protected] testdir]# history -p cat
cat
-s:
在历史中伪造命令,并不执行
命令历史相关环境变量
注:以下命令需退出系统重新登录后生效,直接键入命令退出系统后作用消失,写入.bash_profile永久有效
HISTSIZE:命令历史记录的条数
[[email protected] ~]# echo $HISTSIZE
1000
其定义文件在/etc/profile,输入
~]# nano /etc/profile
在其加入HISTSIZE=XXX,即可定义历史记录的条数
HISTFILE:指定历史文件,默认为/root/.bash_history
[[email protected] ~]# echo $HISTFILE
/root/.bash_history
可以在.bash_profile中修改HISTFILE的历史文件路径
HISTFILESIZE:命令历史文件记录历史的条数,默认为1000,可在.bash_profile中修改
[[email protected] ~]# echo $HISTFILESIZE
1000
在其加入HISTSIZE=XXX,即可定义命令历史文件记录的条数
HISTTIMEFORMAT:显示历史列表时间(初始值为空)
可nano编辑.bash_profile内容
加入HISTTIMEFORMAT=”%F%T “,其历史列表中就会显示时间
HISTTIMEFORMAT=”`hostname` %F %T “,加显主机名
HISTIGNORE:忽略显示历史命令
HISTIGNORE=”str1;srt2;……”
停止执行此命令:HISTIGNORE=” ”
控制命令历史记录方式
HISTCONTROL=ignoredups,忽略重复历史命令(连续相同)
HISTCONTROL=ignorespace,忽略空格开头的历史命令
HISTCONTROL=ignoreboth,上两个的合并
HISTCONTROL=erasedups,删除重复命令