首页 分享 linux history 命令 shell历史记录显示 HISTSIZE

linux history 命令 shell历史记录显示 HISTSIZE

来源:花匠小妙招 时间:2024-12-07 15:33

linux history 命令 shell历史记录显示 HISTSIZE

最新推荐文章于 2024-10-08 14:31:55 发布

whatday 于 2019-08-07 16:45:29 发布

简介

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

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

export HISTSIZE=0

export HISTSIZE=1000

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

选项

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

-c:清空当前历史命令;

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

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

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

-d<offset>:删除历史记录中第offset个命令

-n<filename>:读取指定文件

  实例

[ljs@vm ~]$

[ljs@vm ~]$ history 5

[ljs@vm ~]$

[ljs@vm ~]$ !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.准备吃饭去"。按回车,就可以重新执行这条命令了,而按左箭头键或右箭头键则可以直接修改,改完之后按回车执行,非常方便!

相关知识

linux的shell中变量的含义
linux系统常用命令大全
Linux内字符串无法显示原因解析 (linux字符串不显示) – 后浪云
linux 系统前置显示PS1设置
sed、awk调用shell变量的方法
shell 字符串分割与连接
linux device driver Makfile
Linux Shell 之引号(单引号;双引号;反引号)
命令行的艺术
命令行的艺术 (GitHub 星标 6 万多)

网址: linux history 命令 shell历史记录显示 HISTSIZE https://www.huajiangbk.com/newsview945724.html

所属分类:花卉
上一篇: 历史上真的存在花木兰这个人物吗?
下一篇: zynq设备树历史最详解

推荐分享