• Linux CentOS7 history命令


    linux查看历史命令可以使用history命令,该命令可以列出所有已键入的命令。

    这个命令的作用可以让用户或其他有权限人员,进行审计,查看已录入的命令。

    用户所键入的命令作为应保存的信息将记录在文件中,这个文件就是家目录中的一个隐藏文件~/.bash_history。

    了解历史命令存放的位置,对后面的各项讨论十分重要。

    我们对于前面用过的几个命令,可以通过方向键的上下按键来查看。这个很方便,但对于更前面的命令,将会加大难度,不好找到。只有用历史命令才便捷。

    在终端中输入以下命令查看所有命令:

            history

    查看历史命令的帮助信息,可以更多了解选项与参数。

    从上述信息中,我们介绍几个重要的历史命令操作。

    一、保存历史命令

    历史命令的保存有两种情况:bash自动保存:

    当使用过当前的bash时,系统会自动保存历史命令在家目录的隐藏文件中。自动退出与强制退出都是如此何存。

    当我们认为有必须及时保存历史命令时,可以执行如下命令:

            history –w

            w 是write的简写。命令的功能是保存当前的历史命令到默认文件中。

    当我们需要保存历史命令到另外文件时,也可以重定向

            history > ./history.txt

    二、清除历史命令

    如果在服务器中干了不好的事情,可以通过“history -c”命令进行清除,那么其他人登录终端时就无法查看历史操作命令了。

    但此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_history文件中的记录。

    我们刚才查看当前历史命令为13条,我们执行清除历史命令,再查看:

            history -c

    按向上方向键,没有反应。执行history命令,也没有内容。

    三、删除某一条历史命令

    我们重新执行几条命令。

    查看文件中保存的原来的历史命令(打开bash时,已存在的历史命令),在执行history –c后,仍然存在。此命令清除的是缓存区的历史命令。

    我们执行删除某一条历史命令:

            history –d 5

            d  是delete命令的简写,5 是缓存区中的第5条命令。

    执行结果:

    四、执行历史命令

    1.!n

    通过查看历史命令,我们可以重新执行一次原来执行过的历史命令,方法就是,用!+ 历史命令顺序号

    我们执行第12条命令:

            !12

    执行后如下(因为这个命令是前两个,当然可以按向上方向键执行)

    2.ctrl+r

    我们想执行原来执行过的历史命令,也可以用快捷键调出原命令,再执行一次。

    如再执行passwd命令:

    按完快捷键后,录入一个p,会自动出来原来所有以p开头的命令(本案例命令比较少,含p开头的命令只有一个,我们很好选择。如果p开头的命令多时,可再录入一个字符,或用上下方向键进行选择)。

    五、调整历史命令最大条数

    在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量 HISTSIZE进行控制。

    使用   echo $HISTSIZE

    可以查看历史命令最多条数。

    可以重新设置最大条数,如

            HISTSIZE=2000

    六、history其他选项

            -N: 显示历史记录中最近的N个记录;

            -a:将历史命令缓冲区中命令写入历史命令文件中;

            -r:将历史命令文件中的命令读入当前历史命令缓冲区;

            -w:将当前历史命令缓冲区命令写入历史命令文件中;

            -n:读取指定文件

    案例:打印最近的n条历史命令。

    默认情况下,history并不记录命令的执行时间,但我们可以使用HISTTIMEFORMAT在历史中显示TIMESTAMP。

    小结

    历史命令应用广泛,熟练掌握,可以查看并快速执行相关命令。

  • 相关阅读:
    互联网Java工程师面试题·Java 总结篇·第十弹
    java毕业设计人才申报系统源码+lw文档+mybatis+系统+mysql数据库+调试
    【小型网站测试】使用python脚本来控制docker容器的编排
    【Visual Leak Detector】在 QT 中使用 VLD(方式三)
    华为云云耀云服务器L实例评测|在 Centos & Docker 中使用Nginx部署Vue项目
    计算机网络连接的主要对象是什么
    supervisord: ImportError: No module named web
    软考 系统架构设计师系列知识点之软件架构风格(5)
    pg数据表同步到hive表数据压缩总结
    element-plus el-button 自定义添加icon的方法
  • 原文地址:https://blog.csdn.net/qq_36142959/article/details/132942763