history命令:是shell程序内置命令,主要用于记录系统执行过的命令,当用户登录shell程序是会把历史配置文件中的命令读取到当前命令历史缓存列表中,退出shell程序会把历史列表中的命令写入历史配置文件当中
history [-c] [-d offset]
-c:清空历史列表
-d offset:删除指定命令历史条目
-r:将历史文件中的命令重读到命令历史列表
-w:历史列表中的命令写入历史配置文件
-a:追加本次会话新命令到历史配置文件
-n:将历史配置文件中从未读过的命令到历史列表
-p COMMAND...:多行列出COMMAND,但不记录也不执行
-s COMMAND...:记录列出的COMMAND,不执行
调用历史命令:
!!:执行上一条命令
!STRING:执行最近一次一"STRING"开头的命令
!n:执行命令历史中第n条命令
!-n:执行命令历史中倒数第n条命令
调用历史命令的参数:
!$:调用上一条命令的最后一个参数
Esc+.:调用上一条命令的最后一个参数
!:#:调用上一条命令的第#个参数
!:^:调用上一条命令的第一个参数
!:*:调用上一条命令的所有参数
!n:$:调用历史列表中第n条命令的最后一个参数
!n:^:调用历史列表中第n条命令的第一个参数
!n:#:调用历史列表中第n条命令的第#个参数
!n:*:调用历史列表中第n条命令的所有参数
!STRING:$:调用最近一次以"STRING"开头的命令的最后一个参数
!STRING:^:调用最近一次以"STRING"开头的命令的第一个参数
!STRING:*:调用最近一次以"STRING"开头的命令的所有参数
!STRING:#:调用最近一次以"STRING"开头的命令的第#个命令
命令历史相关环境变量:
HISTSIZE:命令历史存放条目数
HISTFILE:命令历史配置文件
HISTFILESIZE:配置文件所存放的条目数
HISTTIMEFORMAT:命令历史显示格式
HISTIGNORE COMMAND1...:忽略所定义的COMMAND
HISTCONTROL:命令历史记录方式(默认为ignoredups)
ignoredups:连续重复执行的命令只记录一次
ignorespace:忽略以空格开头的命令
ignoreboth:以上两者都生效
erasedups:忽略重复命令
环境变量可定义在/etc/profile或~/.bash_profile文件当中,也可以在当前命令行定义,但只对当前shell进程生效,用户退出shell将失效
/etc/profile:全局配置文件,对所有用户都生效
~/.bash_profile:用户配置文件,只对当前用户生效
几个bash快捷键:
Ctrl+l:清屏
Ctrl+c:终止当前命令运行
Ctrl+a:光标跳转至行首
Ctrl+e:光标跳转至行尾
Ctrl+u:删除光标以左的所有命令
Ctrl+k:删除光标以右的所有命令
转载于:https://blog.51cto.com/zhaizhai/1830553