history

命令行历史:

保存你输入的命令历史。可以用它来重复执行命令

登录shell时,会读取命令历史文件中记录下的命令~/.bash_history

登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时“追加”至命令历史文件中

 选项:

-c: 清空列表  清空的是内存可以用 -r再读回来

-d #: 删除指定的历史命令 可以一次删多条   命令号  条数

-a: 追加当前会话的命令历史至历史文件中去;

-w: 把历史列表中的所有命令追加到文件中,也可以后面加文件路径,保存到别的文件中

history  # 显示最近的多少条命令

-s以单条记录追加 ARG 到历史列表中(伪造历史)

-r   可以把文件的内容读入历史文件中

#    最近的#条记录

history快捷方式:

!#: #为命令历史列表中的命令编号;可用执行第#条命令;

!!: 执行上一条命令;

!-#: 执行命令历史列表中的倒数第#条命令;

!string: 执行命令历史列表中的最近一次以string开头的命令;

!$: 引用上个命令的最后一个参数; ESC后松开再按 .

                    ctrl+r  [想要搜索的内容] 可以在当前搜索并显示以前的命令历史

调用历史参数

!n:^ 调用第n条命令的第一个参数

!n:$ 调用第n条命令的最后一个参数

!m:n 调用第m条命令的第n个参数

!n:* 调用第n条命令的所有参数

n可以是数字也可以是字符

     命令历史相关的环境变量

HISTSIZE:命令历史中可以保存的命令的个数;

HISTFILE: 命令历史文件;

HISTFILESIZE:命令历史文件可以保存的命令的个数;

HISTCONTROL: 控制命令历史的生成;

HISTCONTROL=ignoredups: 忽略记录重复的命令;连续的相同命令才为重复;

HISTCONTROL=ignorespace: 不记录以空白字符开头的命令;

HISTCONTROL=ignoreboth: 同时具有上面两种特性

也可以HISTCONTROL="ignoredups:ignorespace"中间用冒号隔开

注意:这种修改只对当前shell有效!

history其他的几种用法

1、使用 HISTTIMEFORMAT 显示时间戳

HISTTIMEFORMAT=“%F %T“  %F表示日期  %T表示时间

[root@VM_18_121_centos ~]# HISTTIMEFORMAT="%F %T "

[root@VM_18_121_centos ~]# history

1  2016-07-27 09:56:57

2  2016-07-24 22:47:33 yum update -y

3  2016-07-24 22:50:20 yum install -y httpd

4  2016-07-24 22:51:57 mkdir ~/confbak

2、使用 Ctrl+R 搜索命令历史

(reverse-i-search)`tr': yum -y install php-gd php-ldap php-odbc

(reverse-i-search)`tr': tree -CL 2 /dev/

3、使用 HISTSIZE 控制历史命令记录的总行数

[root@VM_18_121_centos ~]# HISTSIZE=1001

[root@VM_18_121_centos ~]# echo $HISTSIZE

1001

只针对当前shell有效

或者在[root@VM_18_121_centos ~]# vim ~/.bash_profile 追加

HISTSIZE=1001

HISTFILESIZE=1001

只针对当前用户有效

4、使用 HISTIGNORE 忽略历史中的特定命令

[root@VM_18_121_centos ~]# export HISTIGNORE="history:ls:ls -l"

转载于:https://blog.51cto.com/11741220/1830573

history 用法讲解相关推荐

  1. pythonlower函数_python中lower函数实现方法及用法讲解

    之前小编介绍过python中将字符串小写字符转为大写的upper函数的使用方法(upper函数).有将小写转为大写的需要,那也有将大写转为小写的情况.本文主要介绍在python中可以将字符串大写自摸转 ...

  2. python中的set和dict_Python中dict和set的用法讲解

    dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子,假设要根据同学的名字 ...

  3. python列表split_Python-split()函数实例用法讲解

    在Python中,split() 方法可以实现将一个字符串按照指定的分隔符切分成多个子串,这些子串会被保存到列表中(不包含分隔符),作为方法的返回值反馈回来. split函数用法 split(sep= ...

  4. isnull mysql_mysql isnull用法讲解

    mysql isnull用法讲解 MySQL 可以使用 ISNULL() 函数.不过它的工作方式与微软的 ISNULL() 函数有点不同. 我们先来看几个is null sql用法: select * ...

  5. linux文件权限umask,linux系统中UMASK权限的用法讲解

    原标题:linux系统中UMASK权限的用法讲解 umask一般是用在你初始创建一个目录或者文件的时候赋予他们的权限. 这里要说明两点: 1.针对目录来说x权限代表可以进入该目录,所以说对于这个权限初 ...

  6. 6s在c语言中的用法,C语言中assert的用法讲解

    assert是指编写代码时做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式.下面是小编为大家整理的C语言assert的用法讲解,欢迎参考~ assert宏的原型定 ...

  7. MySQL中replace主键_Mysql中replace与replace into的用法讲解

    Mysql replace与replace into都是经常会用到的功能:replace其实是做了一次update操作,而不是先delete再insert:而replace into其实与insert ...

  8. oracle中col 的用法,Oracle中的SUM用法讲解,

    Oracle中的SUM用法讲解, Oracle中的SUM条件查询 1.按照区域编码分组查询区域编码.IPTV_NBR不为空的数量.ACC_NBR不为空的数量.所有用户数量 SELECT AREA_CO ...

  9. bitset用法讲解

    bitset用法讲解 1.定义申请 代码 说明 bitset<100> cp[100]; 定义一个二进制数组 bitset<100> cp 定义一个二进制数 bitset< ...

最新文章

  1. 走近分形与混沌(part2)-豪斯多夫维数
  2. Bootstrap3 栅格系统之列嵌套
  3. 一键跳转添加QQ好友 点击链接直接跳转到QQ好友页面如何实现
  4. RTKlib单点定位-部分思考
  5. java使用qq群发邮件_java群发发送qq邮件
  6. g的python实现_Python gevent协程切换实现详解
  7. CVPR2021 | CVPR2021最全整理,CVPR2021下载链接,CVPR2021全部论文代码
  8. Matlab 中 residuez函数的使用
  9. 企业文件加密软件如何做到根源防止泄密?全面专业的数据防泄密方案怎么选
  10. Jetson NX Ubuntu 18.04下谷歌输入法候选框不显示解决办法
  11. html word 批注,Word2013中显示批注的两种方法
  12. 求解非线性方程组的牛顿法c语言,牛顿下山法求解非线性方程(组)(C实现)...
  13. C源码:通过IP地址查找主机名 findip.c
  14. 微信公众号服务器搭建
  15. 将符号(amp; amp;)解码为正常
  16. 支付宝小程序动态绑定样式
  17. Kubernetes Pod 网络精髓:pause 容器详解
  18. 中国女排世界排名跌至第二,为何排名下跌?郎平这样回答
  19. c语言百万富翁换钱的程序,百万富翁的换钱计划.docx
  20. 【转发】淘宝下单高并发解决方案

热门文章

  1. □ 影片名:《劲爆颁奖礼李宇春PK掉刘德华》(4395)
  2. 使用Foxmail管理邮件
  3. 系统盘空间容量不足,DiskGenius
  4. TurnipBit - DIY音乐盒
  5. 搭建一个线上版远程视频聊天
  6. 苹果CMS/V10模板-MXoneV6.3魔改版-二开大气短视模板
  7. 六个增肌小技巧 让肌肉得到意想不到的刺激
  8. 单个按键控制数码管显示数字(2)
  9. 【速记】openwrt - 编译、刷固件(资料整理)
  10. Font 楷体_GB2312 is not available to the JVM. See the Javadoc for more det