当前位置: 首页 > news >正文

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<filename>:读取指定文件

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

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

小结

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

http://www.lryc.cn/news/171600.html

相关文章:

  • XC5350A 单节锂电池保护芯片 过放2.9V/2.8V/2.4V保护IC
  • 单片机论文参考:1、基于单片机的电子琴
  • Opencv源码解析(2)算法
  • 让Mac菜单栏变得更加美观整洁——Bartender 5
  • 服务器迁移:无缝过渡指南
  • 安卓开发中ViewBinding的使用
  • 【初阶数据结构】树(tree)的基本概念——C语言
  • 二叉树知识点
  • Day69:283. 移动零、11. 盛最多水的容器、42. 接雨水
  • tensorrt的安装和使用
  • 电压放大器在电子测试中的应用有哪些方面
  • 39.地址算术运算
  • 没有外网的麒麟系统上搭建GitLab服务并且无需客户端账号密码验证
  • 微服务生态系统:使用Spring Cloud构建分布式系统
  • DIY 一个汽车方向盘游戏外设(MMOS OSW DIY)
  • 校园网络技术需求分析
  • 计算机网络(二):TCP篇
  • 测试登录界面:Python
  • Rust踩雷笔记(7)——两个链表题例子初识裸指针
  • 用什么命令看Linux系统的体系架构
  • 消息中间件大揭秘:选择之前你必须知道的关键信息
  • 【Unity基础】4.动画Animation
  • FreeRTOS移植以及核心功能
  • 重装系统(配置环境)
  • docker系列-报错以及解决指南
  • Vue3快速上手
  • 二叉搜索树(BST,Binary Search Tree)
  • 分析key原理
  • [CISCN2019 华东南赛区]Web11 SSTI
  • 百度春招C++后端面经总结