bash的基础特性(一)
命令历史:shell进程会在会话中保持此前用户提交执行过的命令;
~]# history
定制history的功能,可通过环境变量实现;
HISTSIZE: shell进程可以保留的命令历史的条数;
HISTFILE: 持久保存命令历史的文件;(.bash_history)
HISTFILESIZE: 持久保存命令历史的文件大小;
命令用法:
history [-c] [-d 偏移量(指定位置)] [n(位置后几位)];
history -anrw [文件名];
history -ps 参数 [参数...];
-c:清空命令历史;
-d 偏移量:删除指定命令历史;
-r:从文件读取命令历史至历史列表中;
-w:把历史列表中的命令追加至命令历史文件中;
history n(数字):显示最近的n条数据;
调用命令历史列表中的命令:
!n(数字):再一次执行历史列表中的第n条命令;
!!:再一次执行上一条命令;
!STRING(字符串):再一次执行历史列表中最近一次STRING(字符串)字符串开头的命令;
注意:命令的重复执行需要有时候需要依赖幂等性;
调用上一条命令的最后一个参数:
快捷键:Esc + . ;
字符串:!$;
控制命令历史记录的方式:
环境变量:HISTCONTROL;
ignoredups:忽略重复的命令;
ignorespace:忽略以空白字符开头的命令;
igonreboth:以上两者同时生效;
修改环境变量的值:
NAME='VALUE';(例:~]# HISTCONTROL=ignoredups)
注意:这种改变只对当前shell进程有效。