history命令常见用法和设置

embedded/2025/2/1 16:53:56/

1、history命令的设置

1.1、history命令有关的环境变量

root@:~$ env | grep "HIST*"
HISTCONTROL=ignorespace:erasedups
HISTSIZE=20
HISTFILE=/home/root/.bash_history
HISTFILESIZE=2000
HISTTIMEFORMAT="%F %T "
  • 使用env命令可能看不到上面这些变量,因为env命令只会显示那些已经被设置的环境变量
  • 可以使用echo $HISTCONTROL的方式来查看
  • 也可以使用export命令将环境变量导出,这样就可以使用env命令查看:export HISTSIZE

1.2、设置历史命令记录文件

HISTFILE=/home/root/.bash_history
HISTFILESIZE=2000
  • HISTFILE:history命令显示的历史命令是保存在文件里的,这里是设置文件的路径。可以使用cat命令来查看此文件
  • HISTFILESIZE:设置保存历史命令的文件最大占用空间

1.3、设置历史记录命令条数

HISTSIZE=20
  • HISTSIZE:设置history命令保存多少条历史命令

1.4、设置历史命令记录方式

HISTCONTROL=ignorespace:erasedups
  • HISTCONTROL有以下的选项:
    • ignoredups 默认,忽略重复命令
    • ignorespace 忽略所有一空格开头的命令
    • ignoreboth ignoredups 和 ignorespace 的组合
    • erasedups 删除历史记录中重复命令,相同的指令仅保留最近的一个
    • 如果同时设定多个选项,中间使用冒号:HISTCONTROL=ignorespace:erasedups

1.5、添加时间信息

daizhixin@:~$ history 1* export HISTCONTROL=ignorespace:erasedups!2  ls3* histor4  env | grep "HIST"5  echo $HISTTIMEFORMAT6  env7  history 
daizhixin@:~$ export HISTTIMEFORMAT="%F %T "
daizhixin@:~$ 
daizhixin@:~$ history 1* 2025-01-31 21:13:05 export HISTCONTROL=ignorespace:erasedups!2  2025-01-31 21:13:30 ls3* 2025-01-31 21:16:04 histor4  2025-01-31 21:39:59 env | grep "HIST"5  2025-01-31 22:05:23 echo $HISTTIMEFORMAT6  2025-01-31 22:24:46 env7  2025-01-31 22:33:30 export HISTTIMEFORMAT="%F"8  2025-01-31 22:33:40 export HISTTIMEFORMAT="%F "9  2025-01-31 22:35:00 export HISTTIMEFORMAT="%F %T"10  2025-01-31 22:35:08 export HISTTIMEFORMAT="%F %T "11  2025-01-31 22:35:10 history 

HISTTIMEFORMAT‌用于在bash shell中定义history命令的时间戳格式。这里的%F表示日期(格式为yyyy-mm-dd),%T表示时间(格式为HH:MM)

2、history命令使用方式

2.1、查看历史命令

root@:~$ history 1  export HISTCONTROL=ignorespace:erasedups2  ls3  env | grep "HIST"4  history 

2.2、清楚已经缓存的历史命令

history -c

2.3、执行存储的第n条命令

root@:~$ history 1  export HISTCONTROL=ignorespace:erasedups2  ls3  env | grep "HIST"4  history 
root@:~$ 
root@:~$ 
root@:~$ !3
env | grep "HIST"
HISTCONTROL=ignorespace:erasedups
HISTSIZE=30
HISTFILE=/home/root/.bash_history
HISTFILESIZE=2000

感叹号后面跟缓存命令的编号

2.4、执行最近特定开头的命令

daizhixin@:~$ history 1  export HISTCONTROL=ignorespace:erasedups2  ls3* histor4  env5  env | grep "HIST"6  history 
daizhixin@:~$ 
daizhixin@:~$ 
daizhixin@:~$ !env
env | grep "HIST"
HISTCONTROL=ignorespace:erasedups
HISTSIZE=30
HISTFILE=/home/daizhixin/.bash_history
HISTFILESIZE=2000
daizhixin@:~$ 

!command 从最近的命令查到以command开头的命令执行

2.5、执行上一条命令

daizhixin@:~$ history 1* export HISTCONTROL=ignorespace:erasedups!2  ls3* histor4  env5  env | grep "HIST"6  history 
daizhixin@:~$ 
daizhixin@:~$ !!
history 1* export HISTCONTROL=ignorespace:erasedups!2  ls3* histor4  env5  env | grep "HIST"6  history 

连续两个感叹号执行上一条命令


http://www.ppmy.cn/embedded/158683.html

相关文章

基于Hutool的Merkle树hash值生成工具

SHAUtil工具 package com.blockchain.qgy.util;import com.xiaoleilu.hutool.crypto.digest.DigestUtil; import org.apache.commons.codec.binary.Hex;import java.nio.charset.StandardCharsets; import java.security.MessageDigest;/**** 生成SHA-256的工具** author QGY*…

智慧小区物业管理系统助力提升社区运营效率与居民生活品质

内容概要 智慧小区物业管理系统是现代社区管理的重要组成部分,它以提高社区运营效率和居民生活品质为核心目标,通过多种技术手段的应用,实现了信息透明和资源的高效利用。这个系统不仅仅是一个简单的物业管理工具,更是一个多功能…

KVM虚拟化

1. 虚拟化技术 虚拟化,通过模拟计算机的硬件,实现同一台计算机上同时运行多个操作系统 2. 虚拟化软件的差别 qemu 软件模拟全虚拟化,速度慢,兼容性好! xen(半) …

算法随笔_30: 去除重复字母

上一篇:算法随笔_29:最大宽度坡_方法3-CSDN博客 题目描述如下: 给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。 示例 1: …

PHP中配置 variables_order详解

variables_order 是 PHP 配置文件 php.ini 中的一项配置指令,决定了 PHP 在处理请求时,哪些类型的变量将被注册到全局变量空间(如 $GLOBALS)中,以及这些变量的顺序。理解和正确配置 variables_order 对于开发和维护安全…

基于springboot+vue的流浪动物救助系统的设计与实现

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

深度学习篇---深度学习框架

文章目录 前言第一部分:框架简介1. PyTorch简介特点动态计算图易于上手强大的社区支持与Python的集成度高 核心组件 2. TensorFlow简介特点静态计算图跨平台强大的生态系统Keras集成 核心组件 3. PaddlePaddle简介特点易于使用高性能工业级应用丰富的预训练模型 核心…

用一个例子详细说明python单例模式

单例模式是一种设计模式,它确保一个类只有一个实例,并提供一个全局访问点来访问该实例。这在需要控制资源(如数据库连接、文件系统等)的访问时非常有用。 下面是一个使用Python实现单例模式的例子: class Singleton:…