目录
▼命令行历史的使用▷重复前一个命令,有4种方法▷搜索历史命令▷调用前一个命令中最后一个参数▷其它相关命令▷调用历史参数 ▼history [OPTION] ...[OPTION]-c ==清空命令历史==-d n ==删除历史中指定的第n个命令==n ==显示最近的n条历史==-a ==追加本次会话新执行的命令历史列表至历史文件==-r ==读历史文件附加到历史列表==-w ==保存历史列表到指定的历史文件==-n ==读历史文件中未读过的行到历史列表==-p ==展开历史参数成多行,但不存在历史列表中==-s ==展开历史参数成一行,附加在历史列表后== ▼命令历史相关环境变量▼命令行历史的使用
保存你输入的命令历史。可以用它来重复执行命令
登录shell时,会读取命令历史文件中记录下的命令~/.bash_history
登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时“追 加”至命令历史文件中
▷重复前一个命令,有4种方法
上方向键
,并回车执行按!!
并回车执行输入!-1
并回车执行按Ctrl+p
并回车执行[root@CentOS7 ~]$echo 123123[root@CentOS7 ~]$!!echo 123123[root@CentOS7 ~]$!-1echo 123123
去除参数执行前一个命令!:0
[root@CentOS7 ~]$echo 123123[root@CentOS7 ~]$!:0echo
▷搜索历史命令
Ctrl+r来在命令历史中搜索命令
[root@CentOS7 ~]$(reverse-i-search)`':
Ctrl+g:从历史搜索模式退出
▷调用前一个命令中最后一个参数
▷其它相关命令
▷调用历史参数
▼history [OPTION] …
[OPTION]
-c清空命令历史
...1085 echo -e "ab\bc"1086 echo -e "ab\bc\b"1087* echo -e "ab\bc\b\b1088 echo -e "ab\bc"1089 echo 1231090 echo1091 dd if=/dev/zero of=/data/f2 bs=1M count=11092 count=11093 history[root@CentOS7 ~]$history -c[root@CentOS7 ~]$history95 history[root@CentOS7 ~]$
-d n删除历史中指定的第n个命令
1001 history 1001002 history 10001003 history 1004 history -d 10001005 history 1006 echo 1231007 history [root@CentOS7 ~]$history -d 1006[root@CentOS7 ~]$history...1002 history 10001003 history 1004 history -d 10001005 history 1006 history 1007 history -d 10061008 history [root@CentOS7 ~]$
n显示最近的n条历史
[root@CentOS7 ~]$history 101005 history 1006 history 1007 history -d 10061008 history 1009 history -n 101010 history 1011 history -101012 history -n101013 history -n 101014 history 10
-a追加本次会话新执行的命令历史列表至历史文件
-r读历史文件附加到历史列表
-w保存历史列表到指定的历史文件
-n读历史文件中未读过的行到历史列表
-p展开历史参数成多行,但不存在历史列表中
-s展开历史参数成一行,附加在历史列表后
▼命令历史相关环境变量
$HISTSIZE
:命令历史记录的条数$HISTFILE
:指定历史文件,默认为~/.bash_history$HISTFILESIZE
:命令历史文件记录历史的条数$HISTTIMEFORMAT=“%F %T “
显示时间$HISTIGNORE=“str1:str2*:… “
忽略str1命令,str2开头的历史控制命令历史的记录方式:环境变量:$HISTCONTROL
ignoredups 默认,忽略重复的命令,连续且相同为“重复”
ignorespace 忽略所有以空白开头的命令
ignoreboth 相当于ignoredups, ignorespace的组合
erasedups 删除重复命令
export 变量名="值“
存放在/etc/profile
或~/.bash_profile