• Bash基础特性(1)-命令历史


    概述:

    shell进程会在其会话中保存此前用户提交并执行过的命令

    可以使用~]# history进行查看,history命令本身属于shell的内嵌命令

    命令历史可分为内存中的历史命令以及历史文件中的历史命令,其容量默认大小均为1000条(可修改),从主机开机到关机的这段时间中所用到的命令会保存在内存中,关机后系统会自动将内存中的历史命令写入命令历史文件中(/root/.bash_history),若此时历史文件容量不够时会自动清除过去的命令。执行history-r后执行history的操作时,历史文件与内存的容量并不冲突,即使超过容量大小仍可以正常显示

    history命令用法:

       常用选项:

        -c:清空历史命令(内存中的命令)

        -d 偏移量:删除指定历史命令

        -r:从历史文件中读取历史命令至历史列表(内存)中

        -w:把历史列表中的命令追加之至历史文件中

        history#:显示最近#条命令

    若希望定制history的功能,可通过改变其环境变量来实现:

    HISTSIZE:shell进程可保留的历史命令条数

    HISTFILE:持久保持命令历史的文件

    HISTFILESIZE:命令历史文件的大小

    调用命令历史列表中的命令:

      ~]# !#:再一次执行历史列表中的第#条命令

      ~]# !!:再一次执行上一条命令

      ~]# !STRING:再一次执行命令历史中列表的最近一个以STRING开头的命令

      注意:命令的重复执行有时需要依赖于幂等性,即命令可重复执行,如mkdir命令就不能重复执行

    调用上一条命令的最后一个参数:

      快捷键:按ESC后按.

      字符串:!$

    控制命令历史记录的方式:(仅对当前的shell进程有效)

      通过控制环境变量HISTCONTROL来实现

      HISTCONTROL可取值选项:

        ignoredups:默认值,忽略重复命令

        ignorespace:忽略以空白字符开头的命令

        ignoreboth:忽略以空白字符开头的命令且忽略空白

      通过设置HISTCONTROL设置其参数为ignorespace或ignoreboth可实现隐藏所输入的命令,即输入命令时以空白字符开头即可

    修改变量值的方式:NAME='VALUE'

  • 相关阅读:
    Stock Transfer I
    Negative Stock in "Stock in Transit"
    ZFINDEXITS
    Plan Driven Procurement III: Classic Scenario in SRM 5.0
    C++builder 创建进程之CreateProcess函数
    常用DOS命令
    【转】程序员的几个级别
    几本书
    OOP SOLID原则
    SSRS 使用总结
  • 原文地址:https://www.cnblogs.com/Donquixote-Corazon/p/11629993.html
Copyright © 2020-2023  润新知