一、历史命令:history选项说明
### --- history选项说明
### --- 历史命令的查看
~~~ # 选项:
~~~ -c:清空历史命令
~~~ -w:把缓存中的历史命令写入历史命令保存文件。
~~~ 如果不手工指定历史命令保存文件,
~~~ 则放入默认历史命令保存文件~/.bash_history 中
[root@localhost ~]# history [选项] [历史命令保存文件]
~~~ # 我们使用 history 命令查看的历史命令和~/.bash_history 文件中保存的历史命令是不同的。
~~~ 那是因为当前登录操作的命令并没有直接写入~/.bash_history 文件,而是保存在缓存当中的。
~~~ 需要等当前用户注销之后,缓存中的命令才会写入~/.bash_history 文件。
~~~ 如果我们需要把内存中的命令直接写入~/.bash_history 文件,
~~~ 而不等用户注销时再写入,就需要使用“-w”选项了。命令如下:
[root@localhost ~]# vi /etc/profile
~~~ …省略部分输出…
HISTSIZE=1000
~~~ …省略部分输出…
~~~ # 把缓存中的历史命令直接写入~/.bash_history
~~~ 这时再去查询~/.bash_history 文件,历史命令就和 history 命令查询的一致了。
~~~ 如果需要清空历史命令,只需要执行:
[root@localhost ~]# history -w
二、history实验:参数调用说明
### --- 清空历史命令
~~~ # 历史命令的调用
~~~ 如果想要使用原先的历史命令有这样几种方法:
~~~ 使用上、下箭头调用以前的历史命令
~~~ 使用“!n”重复执行第 n 条历史命令
~~~ 使用“!!”重复执行上一条命令
~~~ 使用“!字串”重复执行最后一条以该字串开头的命令
~~~ 使用“!$”重复上一条命令的最后一个参数
[root@localhost ~]# history -c
三、history命令实验
### --- history命令
~~~ # 注:history其实是把执行的命令记录在了家目录下的这个文件之中,
~~~ 这个历史命令是永久生效的,重启之后也不会消失~/.bash_history文件
~~~ 可以查看到上次登录退出之后保存的历史命令,
~~~ 此次登录的历史命令需要退出后才可以保存到该文件中
[root@localhost ~]# cat ~/.bash_history
### --- history -w
### --- -w:强制把此次之行的命令保存到这个文件中
~~~ # 注:这个文件中保存的是umask默认权限
~~~ 历史命令默认是1000条,若是你想多保存一些条数,
~~~ 需要确定这个历史命令是保存在内存中还是在硬盘中的,
~~~ 若是保存在内存中,就不可以把保存条数设置太大,设置太大,占用内存较多,影响系统性能;
~~~ 若是放入在硬盘中,影响不大。
~~~ 保存在家目录下,说明只能保存在当前用户的执行命令
[root@localhost ~]# history -w
### --- 历史命令默认保存1000条,在/etc/profile文件中可以看到
[root@localhost ~]# cat /etc/profile |grep HISTSIZE
HISTSIZE=1000
### --- history -c
~~~ # -c:清空历史命令
~~~ # 注:
~~~ 不建议清空历史命令,在一些特殊情况下,比如给mysql设置密码,可以清空一下。
~~~ 因为mysql设置密码是明文设置的。
[root@localhost ~]# history -c
### --- 历史命令调用方式
~~~ 如果想要使用原先的历史命令有这样几种方法:
~~~ 使用上、下箭头调用以前的历史命令
~~~ 使用“!n”重复执行第 n 条历史命令
~~~ 使用“!!”重复执行上一条命令
~~~ 使用“!字串”重复执行最后一条以该字串开头的命令
~~~ 使用“!$”重复上一条命令的最后一个参数