history命令常见用法和设置

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.mzph.cn/news/894245.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

日志收集Day007

1.配置ES集群TLS认证: (1)elk101节点生成证书文件 cd /usr/share/elasticsearch ./bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass "" --days 3650 (2)elk101节点为证书文件修改属主和属组 chown elasticsearch:elasticsearch con…

arm-linux-gnueabihf安装

Linaro Releases windows下打开wsl2中的ubuntu,资源管理器中输入: \\wsl$gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz 复制到/home/ark01/tool 在 Ubuntu 中创建目录: /usr/local/arm,命令如下: …

LabVIEW透镜多参数自动检测系统

在现代制造业中,提升产品质量检测的自动化水平是提高生产效率和准确性的关键。本文介绍了一个基于LabVIEW的透镜多参数自动检测系统,该系统能够在单一工位上完成透镜的多项质量参数检测,并实现透镜的自动搬运与分选,极大地提升了检…

【算法】动态规划专题① ——线性DP python

目录 引入简单实现稍加变形举一反三实战演练总结 引入 楼梯有个台阶,每次可以一步上1阶或2阶。一共有多少种不同的上楼方法? 怎么去思考? 假设就只有1个台阶,走法只有:1 只有2台阶: 11,2 只有3台…

C++11(中)

新增默认成员函数 C11之前,默认成员函数有六个,构造函数,析构函数,拷贝构造,拷贝赋值重载,取地址重载,const 取地址重载。 C11增加了 移动构造 和 移动赋值重载 如果类没有实现移动构造&…

强化学习笔记——4策略迭代、值迭代、TD算法

基于策略迭代的贝尔曼方程和基于值迭代的贝尔曼方程,关系还是不太理解 首先梳理一下: 通过贝尔曼方程将强化学习转化为值迭代和策略迭代两种问题 求解上述两种贝尔曼方程有三种方法:DP(有模型),MC&#xff…

计算机网络 笔记 网络层 3

IPv6 IPv6 是互联网协议第 6 版(Internet Protocol Version 6)的缩写,它是下一代互联网协议,旨在解决 IPv4 面临的一些问题,以下是关于 IPv6 的详细介绍: 产生背景: 随着互联网的迅速发展&…

【搜索回溯算法篇】:拓宽算法视野--BFS如何解决拓扑排序问题

✨感谢您阅读本篇文章,文章内容是个人学习笔记的整理,如果哪里有误的话还请您指正噢✨ ✨ 个人主页:余辉zmh–CSDN博客 ✨ 文章所属专栏:搜索回溯算法篇–CSDN博客 文章目录 一.广度优先搜索(BFS)解决拓扑排…

23.Word:小王-制作公司战略规划文档❗【5】

目录 NO1.2.3.4 NO5.6​ NO7.8.9​ NO10.11​ NO12​ NO13.14 NO1.2.3.4 布局→页面设置对话框→纸张:纸张大小:宽度/高度→页边距:上下左右→版式:页眉页脚→文档网格:勾选只指定行网格✔→ 每页:…

视频脚本生成器(基于openai API和streamlit)

utils.py: # 所有和ai交互的代码放进utils.py里(utils 通常是 “utilities” 的缩写,意为 “实用工具” 或 “实用函数”)from langchain.prompts import ChatPromptTemplate from langchain_openai import ChatOpenAI from lan…

Android --- CameraX讲解

预备知识 surface surfaceView SurfaceHolder surface 是什么? 一句话来说: surface是一块用于填充图像数据的内存。 surfaceView 是什么? 它是一个显示surface 的View。 在app中仍在 ViewHierachy 中,但在wms 中可以理解为…

Longformer:处理长文档的Transformer模型

Longformer:处理长文档的Transformer模型 摘要 基于Transformer的模型由于自注意力操作的二次复杂度,无法处理长序列。为了解决这一限制,我们引入了Longformer,其注意力机制与序列长度呈线性关系,使其能够轻松处理数…

python学opencv|读取图像(五十二)使用cv.matchTemplate()函数实现最佳图像匹配

【1】引言 前序学习了图像的常规读取和基本按位操作技巧,相关文章包括且不限于: python学opencv|读取图像-CSDN博客 python学opencv|读取图像(四十九)原理探究:使用cv2.bitwise()系列函数实现图像按位运算-CSDN博客…

MySQL为什么默认引擎是InnoDB ?

大家好,我是锋哥。今天分享关于【MySQL为什么默认引擎是InnoDB ?】面试题。希望对大家有帮助; MySQL为什么默认引擎是InnoDB ? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 MySQL 默认引擎是 InnoDB,主要…

蓝桥杯真题k倍区间

题目如下 代码解析: 成功AC

python项目之requirements.txt文件

Python项目中可以包含一个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号用以新环境部署。 当我们开发新项目的时候,会用virtualenv创建很多python独立环境,这时候就会出现在不同环境下安装相同的模块的情况,这时候…

算法题(53):对称二叉树

审题: 需要我们判断二叉树是否满足对称结构,并返回判断结果 思路: 方法一:递归 其实是否对称分成两部分判断 第一部分:根节点是否相等 第二部分:根节点一的左子树和根节点二的右子树是否相等,根…

使用 cmake

使用前注意 : CMake是一种跨平台的构建系统,它用于管理软件构建过程,尤其适合多语言、多配置的项目。CMake不直接构建软件,而是生成特定构建工具(如Makefile或Visual Studio项目)所需的配置文件。 如果仅仅使用 qt 编…

AI软件外包需要注意什么 外包开发AI软件的关键因素是什么 如何选择AI外包开发语言

1. 定义目标与需求 首先,要明确你希望AI智能体做什么。是自动化任务、数据分析、自然语言处理,还是其他功能?明确目标可以帮助你选择合适的技术和方法。 2. 选择开发平台与工具 开发AI智能体的软件时,你需要选择适合的编程语言、…

学习数据结构(5)单向链表的实现

(1)头部插入 (2)尾部删除 (3)头部删除 (4)查找 (5)在指定位置之前插入节点 (6)在指定位置之后插入节点 (7)删除…