history的操作你知道几个

简介: history的操作你知道几个

前言

你们有没有在使用linux开发时执行了很长的一条命令,然后过了一会要想在执行这条命令就需要重新输入。


想必大家都知道在linux中,使用↑上箭头就可以找到之前执行的命令,但是这条命令如果执行的时间长了是很难找得到的。


如果你使用的是xsheel客户端,客户端关闭更是找不到。


那么如何解决这个问题呢!




一、linux关于命令历史记录的操作

1、使用history查看历史记录

当你执行history这个命令时会显示之前执行的1000个命令。


image.png


但是如果你不注销或者关机就可以保存超过1000个命令,这个1000是一个默认值。


当然这个值也是可以修改的,如果想要修改可以执行以下命令。



echo "HISTSIZE=2000" >> .bash_profile 
echo "HISFILETSIZE=2000" >> .bash_profile
source ~/.bash_profile (使其生效即可)



如果服务器负责人,你需要看在什么时间点执行了什么命令,只需要执行以下命令即可


export HISTTIMEFORMAT="%F %T"


然后在执行history命令就可以看到的时间


image.png


2、使用Ctrl + r 直接搜索执行记录

例如执行了一个检测nginx配置是否正确的命令 usr/local/nginx/sbin/nginx -t


想要找着条命令直接按Ctrl+r 然后输入usr即可


image.png


3、重复执行上一个命令

执行上条命令的方式有好几种,常用的一种估计就是↑这种。


但是今天给大吉说的是,可以使用!!来操作


image.png


当然你也可以使用!-1来执行


image.png


4、执行对应序号的命令

这个序号哪里来,就是本文第一个提到的命令history,执行结束后会出现每个命令的序号。


如下图我想要执行第1020个命令,那就可以这样执行!1020。


其实这个命令有点编程基础的应该都能想明白,在第三节中我们使用了!!来执行上一条命令,其实也就是历史记录的最后一条记录。


同样的道理这个命令使用的是!1020,这样对于这个命令的记忆就有了规律。


image.png


5、修改历史记录总行数

在第一节中对于这个总行数的修改也简单的说了一下,但是没有亲自操作,接下来操作一下。


这个命令中HISTSIZE是控制history命令显示的数量


而HISTFILETSIZE控制的是文件中存储的数量


1039  2021-03-02 22:29:37 echo "HISTSIZE=2000" >> .bash_profile 
 1040  2021-03-02 22:29:58 echo "HISTFILETSIZE=2000" >> .bash_profile 
 1041  2021-03-02 22:30:20 source ~/.bash_profile

image.png



既然这个命令可以修改history显示的数量,也可以修改文件存储历史记录的数量。


试想一下,如果不想让服务器记录历史记录怎么办呢!


是不是将俩个值都改为0就可以了。


可不可以可以自行尝试一下哈!


6、清除历史记录

清除历史记录执行命令history -c即可


image.png


二、总结

  • 查看历史记录使用history
  • 搜索历史记录使用ctrl+r
  • 重复上一个命令使用!! 或者!-1
  • 执行对应序号命令使用!1020
  • HISTSIZE为执行history显示的数量
  • HISTFILETSIZE历史记录保存的数量
  • 清楚历史记录使用history -c即可

以上就是关于linux中history的命令,在平时使用最多的就是!!执行上一个命令,还以另外一个就是ctrl+r来搜索历史执行的命令。


相关文章
|
Web App开发 安全 Go
|
6月前
|
移动开发 前端开发 JavaScript
history.pushstate用法详解
history.pushstate用法详解
|
缓存 Go
history.go()和history.back(),history.go()不刷新
history.go()和history.back(),history.go()不刷新
|
缓存 移动开发 API
|
移动开发 JavaScript 前端开发
History对象
History对象
144 0
|
Shell
history命令解析_学习笔记
时间:2017.11.13 作者:李强 参考:man,info,magedu讲义 声明:以下英文纯属个人翻译,英文B级,欢迎纠正,盗版不纠,才能有限,希望不误人子弟为好。 1、使用目的与场景     实现快速操作命令的一种方式 2、官方说明     Display or manipulate the history list. 3、写在前面     首先这里有两个概念history list和history file。
946 0