linux命令之历史记录history

shell 进程会在其会话中保存此前用户提交的命令。

$ type history
# history 是 shell 内嵌
$ history

定制 history 的功能,可以通过环境变量来实现。

  • HISTSIZE : shell 进程可保留的命令历史条数;
  • HISTFILE :持久保留命令历史的文件,每个用户执行的命令历史都保存用户的家目录下;每次开机的时候(或者是打开一个新的终端的时候),都会将 HISTFILE 文件中的命令历史读取到shell进程中来;用户登出shell的时候会将shell进程中的命令保存到 HISTFILE 文件中。
  • HISTFILESIZE : 文件中可以保存的历史命令长度
    在这里插入图片描述
操作历史命令

命令使用:

  • history [-c] [-d 偏移量] [n]
  • history -anrw [文件名]
  • history -ps 参数 [参数…]

命令参数:

  • history -c 清空 shell 进程内存中的命令,对 HISTFILE 文件没有影响
  • history -d 删除指定条目的历史命令,n 表示要删除的数量,默认是当前行,对 HISTFILE 文件没有影响
  • history -r 重新读取 HISTFILE 文件中的命令到历史列表中
  • history -wshell进程中的命令追加至历史文件中
  • history # 显示指定条目的最近执行的历史命令
    在这里插入图片描述
调用历史命令

注意:命令的重复执行有时候需要依赖于命令执行结果的幂等性

  • !# 再一次执行历史列表中的第 # 条命令
  • !! 执行上一条命令
  • !STR 再次执行命令历史列表中最近的一个以 STR 开头的命令
调用上一条命令的最后一个参数
  • ESC . 快捷键
  • !$
控制命令历史记录的方式

环境变量:HISTCONTROL

  • ignoredups : 忽略重复的命令,一般是默认值
  • ignorespace : 忽略以空白字符开头的命令
  • ignoreboth : 以上两者

使用 NAME=‘VALUE’ 设置 bash 的环境变量的值只对当前进程生效,export NAME='VALUE' 对当前进程及子进程生效,如果要对所有生效,需要写入/etc/profile或者/etc/bashrc或者用户名下的.bashrc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值