首页 > 系统相关 >Linux下history命令简单原理

Linux下history命令简单原理

时间:2024-03-30 20:33:23浏览次数:18  
标签:历史记录 echo 命令 Linux 缓冲区 原理 history

前言

在我们平时操作 linux 服务器时,有时候需要使用之前操作过的命令,这个时候 history 就派上用场了,它会记录你的历史操作命令。

使用

历史记录会持久化存储,默认位置是当前用户目录下的 .bash_history 文件。

当 Linux 系统启动一个 Shell 时,Shell 会从 .bash_history 文件中,读取历史记录,存储在相应内存的缓冲区中。

我们平时所操作的 Linux 命令,都会记录在缓冲区中。包括 history 命令所执行的历史命令管理,都是在操作缓冲区,而不是直接操作 .bash_history 文件。

history # 显示所有历史命令
history 5 # 显示最近5条命令,Ubuntu下是这个,Centos下为 history -5
history | grep redis # 过滤历史命令
echo $HISTFILE # 查看历史记录持久化的存储文件
echo $HISTSIZE # 查看历史记录的缓冲区限制大小
echo $HISTFILESIZE # 查看持久化文件的限制大小
echo $HISTCONTROL # 扩展的控制选项
# ignorespace: 忽略空格开头的命令
# ignoredups: 忽略连续重复命令
# ignoreboth: 表示上述两个参数都设置
echo $HISTTIMEFORMAT # 历史命令显示的时间格式
echo $HISTIGNORE # 哪些命令不记录到历史记录

参考

谁动了我的 Linux?原来 history 可以这么强大!

标签:历史记录,echo,命令,Linux,缓冲区,原理,history
From: https://www.cnblogs.com/strongmore/p/18078061

相关文章

  • LInux: fork()究竟是如何工作的?为何一个变量能够接受两个返回值?
    LInux:fork函数究竟是如何工作的?为何一个变量能够接受两个返回值?前言一、fork()用法二、fork()应用实例展示三、fork()工作原理3.1为什么要创建子进程?3.2fork()究竟干了些什么?3.3fork为什么会存在两个返回值?3.5为何fork函数中父进程返回子进程的pid、子进程返回0?3.......
  • linux CentOS 7.9 安装 ffmpeg 6.0 教程【亲测成功】
    查看当前系统版本[[email protected]]#lsb_release-aLSBVersion::core-4.1-amd64:core-4.1-noarchDistributorID:CentOSDescription:CentOSLinuxrelease7.9.2009(Core)Release:7.9.2009Codename:Corewgethttp://www.ffmpeg.org/......
  • Acunetix v24.3 (Linux, Windows) - Web 应用程序安全测试
    Acunetixv24.3(Linux,Windows)-Web应用程序安全测试Acunetix|WebApplicationSecurityScanner请访问原文链接:https://sysin.org/blog/acunetix/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org重要提示AcunetixPremium现在使用日历化版本命名。请注意,从......
  • linux进程状态
    目录1.进程状态分类1.1进程状态查看  2.Z(zombie)-僵尸进程 2.1pid 2.2 僵尸进程危害 3. 孤儿进程4.理论4.1运行态 4.2阻塞态(S,D)4.3挂起态 4.4进程的切换1.进程状态分类CPU内存在很多寄存器看看下面的状态在kernel源代码里定义:/**The......
  • Linux服务器安装openJdk8
    环境说明linux系统版本:lsb_release-a  不同的操作系统以及软件版本,可能会遇到不一样的问题,一定要注意版本问题。 .1.查看服务器是否已经安装JDK。  创建目录mkdiropenJdk8&&mkdirmaven  .2.下载JDK,版本参照自己本地的版本,至少要大于等于1.8.121 ......
  • Linux服务器安装Maven
    环境说明linux系统版本:lsb_release-a  JDK版本:1.8  不同的操作系统以及软件版本,可能会遇到不一样的问题,一定要注意版本问题。 .1.Maven版本选择。自己本地使用的事3.9.6,因此服务器同样用此版本,如果有问题在更改版本。  按照如下操作找到Maven的下载地址。......
  • Linux常用快捷键
    必用必记1、命令或路径的补全键Tab使用:命令补全;文件名或者路径补全连续按2次Tab键,显示以已输入字符开头的所有命令、文件名或路径2、光标回到命令首行ctrl+a3、光标回到命令行尾ctrl+e4、中断终端正在执行的任务或者删除整行ctrl+c使用:结束目前正在运行的程......
  • springBoot AOP 深入原理,及 @Before,@Around,@After,@AfterReturn,@AfterThrowing执行
    连接点(Joinpoint):程序能够应用通知的一个“时机”,这些“时机”就是连接点,例如方法被调用时、异常被抛出时等等。——可以理解为被aop拦截的类或者方法就是连接点。通知(Advice):通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。——可以理解为被......
  • Linux使用PulseAudio录取声音
    PulseAudio介绍PulseAudio是一个音频服务器,它充当了你的应用程序和硬件设备之间的中间件。简单来说就是你可以调用api,获取到系统捕获到的声音,可以录音。安装PulseAudiosudoaptinstalllibpulse-dev#不过一般都安装好了,Linux系统上使用有两种api,一种是简单的,同步的,Simp......
  • linux正则表达式之*
    1.*含义linux正则表达式*表示重复0个或多个前一个重复字符2.样例正则表达式*样例命令:grep-n"min*"anaconda-ks.cfg#找出含有mi、min、minn等字符串的行。注:因为*可以是0个,所以mi也是符合搜索字符串,另外,因为*为重复前一个字符的符号,因此,在*之前必须要紧挨着一个重复字......