Linux 的 history 命令使用大全

Linux 的 history 命令使用大全history命令history命令:用于显示历史记录和执行过的指令命令。history命令读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。该命令单独使用时,仅显示历

大家好,又见面了,我是你们的朋友全栈君。

history命令

history命令:用于显示历史记录和执行过的指令命令。history命令读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令例如,要执行第2个历史命令,则输入!2

history命令:是被保存在内存中的,当退出或者登录shell时,会自动保存或读取。在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量 HISTSIZE进行控制。默认是不显示命令的执行时间,命令的执行时间,history 已经记录,只是没有显

注:如想查询某个用户在系统上执行了什么命令,可以使用root用户身份登录系统,检查Home目录下的用户主目录下的“.bash_history”文件,该文件记录了用户所使用的命令和历史信息。

语法:
history(选项)(参数)
选项:
-N: 显示历史记录中最近的N个记录; -c:清空当前历史命令; -a:将历史命令缓冲区中命令写入历史命令文件中; -r:将历史命令文件中的命令读入当前历史命令缓冲区; -w:将当前历史命令缓冲区命令写入历史命令文件中; -d<offset>删除历史记录中第offset个命令 -n<filename>:读取指定文件
参数:
n:打印最近的n条历史命令。
实例:
#查看历史执行记录
[ljs@vm ~]$ [ljs@vm ~]$ history #查看历史执行记录
#查看历史执行记录后 5 条
[ljs@vm ~]$ [ljs@vm ~]$ history 5  #查看历史执行记录后 5 条
# 使用! 执行历史命令。 #  ! number 执行第几条命令
[ljs@vm ~]$ [ljs@vm ~]$ !10 #执行历史记录第 10 条命令 #  !! 执行上一条
[ljs@vm ~]$ [ljs@vm ~]$ !! #执行上一条命令 
显示执行历史记录时间:
1、默认情况下,history并不记录命令的执行时间,分析起来很困难。我们可以使用HISTTIMEFORMAT在历史中显示TIMESTAMP。
2、把上面的 export HISTTIMEFORMAT="%F %T " 命令加入到~/.bashrc中即可在登录后自动开启history时间戳了。添加完成后,执行source .bashrc 让其生效。仅针对当前账号有效。
3、其实HISTTIMEFORMAT的格式就是 strftime函数的格式,比如上面的"%F %T ",%F表示显示出Y-M-D格式的日期,%T表示显示出H-M-S这样格式的时间。
4、用Ctrl+R搜索历史命令;当你执行了一串相当长的命令之后,你只要用关键字搜索一下历史命令然后重新执行这条命令而不需要将整条命令再输一遍。方法是:按下Ctrl+R然后输入关键字。如搜索”date”,则显示历史的命令中含有”date”的命令 date "+今天是:%F,%A,时间是:%T.准备吃饭去"。按回车,就可以重新执行这条命令了,而按左箭头键或右箭头键则可以直接修改,改完之后按回车执行,非常方便!
注:在命令行提示符下按下Ctrl+R,终端将显示如下提示reverse-i-search】

#配置HISTTIMEFORMAT环境变量,给history记录添加上时间戳
[ljs@vm ~]$ [ljs@vm ~]$ export HISTTIMEFORMAT="%F %T " #配置HISTTIMEFORMAT环境变量,给history记录添加上时间戳

 

 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154422.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • RUST开服教程、常用指令及心得[通俗易懂]

    RUST开服教程、常用指令及心得[通俗易懂]【前言】【开始前你需要了解的事情】①常用网址②更新与删档日期③目前国服环境【服务器硬件的选择】【标准服务器】①下载和更新服务器②制作服务器的启动脚本③选择你的服务器地图④运行服务器【模组服务器】①完成标准服务器的下载和设置②安装Oxide插件平台③下载插件④安装插件⑤调试插件⑥模组服的更新⑦在标准服中使用插件功能【在自己的电脑上运行服务端】①…

    2022年7月14日
    74
  • 静态测试和动态测试的区别在哪里?_软件测试中的静态测试

    静态测试和动态测试的区别在哪里?_软件测试中的静态测试1.静态测试静态测试(statictesting)就是不实际运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误的过程。包括对代码测试、界面测试和文档测试三个方面:    对于代码测试,主要测试代码是否符合相应的标准和规范。    对于界面测试,主要测试软件的实际界面与需求中的说明是否相符。    对于文档测试,主要测试用户手册和需求说明是否符合用户的实际需求。…

    2025年7月29日
    1
  • 关于缺陷报告_登录模块缺陷报告

    关于缺陷报告_登录模块缺陷报告基本原则:尽快报告缺陷、有效描述缺陷、报告缺陷时不做任何评价、确保缺陷可以重现软件缺陷是存在于软件之中的那些不希望或不可能接受的偏差软件测试过程管理的理念:尽早测试、全面测试、全过程测试、独立迭代测试 缺陷报告的写作准则书写清晰、完整的缺陷报告是对保证缺陷正确处理的最佳手段。 它也减少了工程师以及其它质量保证人员的后续工作。为了书写更优良的缺陷报告,需要遵守“5

    2022年9月16日
    0
  • 关于astype的坑[通俗易懂]

    关于astype的坑[通俗易懂]也许对我来说是坑astype并不能inplace地改变一个ndarray。例如IN:arr=np.array([3.7,-1.2,-2.6,0.5,12.9,10.1])OUT:array([3.7,-1.2,-2.6,0.5,12.9,10.1])如果是直接输入:arr.astype(int32)然后检查arr.dtype,返回的是dtype(‘fl…

    2022年5月20日
    31
  • html.dropdownlistfor_html按钮样式

    html.dropdownlistfor_html按钮样式//获取直属父级列表varparents=_MemberEditDTOService.GetParents();varparentsItems=parents.Result.Select(s=>newSelectListItem(){Text=s.MemberName,Value=((int)s.Id).ToString()}).ToList();//parents…

    2022年8月31日
    1
  • 投影矩阵推导_矩阵投影变换

    投影矩阵推导_矩阵投影变换概要投影变换是计算机图形学的基础,理解并推导投影矩阵也是很有必要的。正交投影比较简单,没有透视失真效果(近大远小)。而透视投影比较符合人类的眼睛感知,平行线在远处会相交于一点。投影是通过一个4×4的矩阵来完成的,将视锥映射成标准观察体(齐次裁剪空间)。正交投影OpenGLOpenGL采用的是右手坐标系,z轴朝屏幕向外,因此观察方向是朝着z轴负方向的,那么将x,y,z坐标从区间[l,r],

    2022年10月4日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号