Bash的基础特性之一(history命令):
命令历史:shell进程会其会话中保存此前用户提交执行过的命令;
[[email protected] ~]# history
定制history的功能,可通过环境变量实现:
HISTSIZE:shell进程可保留的命令历史条数
[[email protected] ~]# echo $HISTSIZE
1000
HISTFILE:历史命令保存的文件
[[email protected] ~]# echo $HISTFILE
/root/.bash_history
HISTFILESIZE:历史命令文件的大小
[[email protected] ~]# echo $HISTFILESIZE
1000
命令用法:
history [-c] [-d 偏移量] [n]
或 history -anrw [文件名]
或 history -ps 参数 [参数...]
选项:
-d:删除指定某条历史命令
[[email protected] ~]# history -d 347
[[email protected] ~]# history -d 347 5(加入5的意思是从347条开始向后删除5条)
-c:清空命令历史
[[email protected] ~]# history -c
-w:从内存历史命令中保存到文件
-r:从文件历史命令读取到内存中
history #:显示最近的#条命令;
调用命令历史列表中的命令:
[[email protected] ~]# !#:再一次执行历史列表中的第#条命令;
[[email protected] ~]# !!:再一次执行上一条命令;
[[email protected] ~]# !STRING:再一次执行历史命令中最近一个以string开头命令;
~]# !tail
调用上一条命令的最后一个参数:
1.ESC+.(点号):会补全最后一个参数
2.!$:会补全最后一个参数
[[email protected] ~]# ll /etc/sysconfig/network-scripts/ifcfg-eno16777736
[[email protected] ~]# cat 按键(esc,.)
[[email protected] ~]# file !$
file /etc/sysconfig/network-scripts/ifcfg-eno16777736
/etc/sysconfig/network-scripts/ifcfg-eno16777736: ASCII text
控制命令历史记录的方式:
环境变量:HISTCONTROL
[[email protected] ~]# echo $HISTCONTROL
ignoredups:忽略重复的命令;
ignorespace:忽略以空白字符开头的命令;
ignoreboth:以上两者同时生效;
修改变量的值:
NAME=‘VALUE‘
HISTCONTROL=ignorespace
未完!!!