一、history 用法汇总

命令用法
history列出全部历史命令
history 数字#列出最近的#条命令
history -c将目前shell中的所有history命令消除【就是按↑翻不到了】,对命令历史文件没有影响
history -w将本次登录的命令写入命令历史文件中, 默认写入~/.bash_history【其实是会自动保存的】
history -r将命令历史文件中的内容读入到目前shell的history记忆中【就是按↑能翻到】

注:~/.bash_history文件会自动保存当前用户使用过的历史命令

history——列出全部历史命令

在这里插入图片描述

history 数字#——列出最近的#条命令

在这里插入图片描述

history -c——将目前shell中的所有history命令消除,对命令历史文件没有影响

在这里插入图片描述

history -w——将本次登录的命令写入命令历史文件中, 默认写入~/.bash_history

在这里插入图片描述

history -r——将命令历史文件中的内容读入到目前shell的history记忆中

history -c——将目前shell中的所有history命令消除,会发现按↑翻不到历史命令
history -r——将命令历史文件中的内容读入到目前shell的history记忆中,会发现按↑可以翻到历史命令
在这里插入图片描述

二、如何在history命令时,查看命令执行时间

Linux默认环境执行history命令后,只显示已执行命令的序号和命令本身。

如果想要查看命令历史的时间戳,那么可以:

  • 1、以root用户编辑/etc/profile文件
    sudo -s
    【sudo su 和 sudo -s都是切换到root用户,不同的是:
    sudo su 环境用的是目标用户(root)的环境
    sudo -s 环境用的是当前用户本身的环境】
    在这里插入图片描述
    vi /etc/profile

  • 2、在里面加入下面内容(一般习惯在最末尾加)
    export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
    命令里引号中表达的是显示格式,例如:末尾的“引号”与“S”之间,加入一位空格,表示日期时间和历史命令用空格相隔开来

    • vi用到的操作简述:
      1)插入模式
      按「i」进入插入模式「insert mode」,按"i"进入插入模式后是从光标当前位置开始输入文件;
      按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
      按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
      2)从插入模式切换为命令行模式
      按「ESC」键。
      3) 移动光标
      在命令行模式,vi可以直接用键盘上的光标来上下左右移动
      对于第一次用vi,有几点注意要提醒一下:
      ①用vi打开文件后,是处于「命令行模式(command mode)」,需要切换到「插入模式(Insert mode)」才能够输入文字。切换方法:在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。
      ②编辑好后,需从插入模式切换为命令行模式才能对文件进行保存,切换方法:按「ESC」键。
      ③保存并退出文件:在命令模式下输入:wq即可!(别忘了wq前面的英文冒号)
  • 3、让修改后的profile文件立即生效
    有博主用:退出系统重新登陆的方法,可以让修改后的profile文件生效;
    但还有一种更好更快的方法:
    . /etc/profile或者source /etc/profile
    source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。
    注意:以前所执行的历史命令,在profile文件生效后,执行时间全部会显示为第2步执行时的时间,设置了第2步之后,执行的命令才会显示正确的实际执行时间

  • 4、执行history,查看效果
    (可以看到之前执行的命令,在profile文件生效后,执行时间全部会显示为第2步执行时的时间)
    (以后执行的命令就会显示正确的实际执行时间啦,开心)
    在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐