history命令常见用法和设置

news/2025/2/1 11:41:06 标签: linux

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  ls
    3* histor
    4  env | grep "HIST"
    5  echo $HISTTIMEFORMAT
    6  env
    7  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 ls
    3* 2025-01-31 21:16:04 histor
    4  2025-01-31 21:39:59 env | grep "HIST"
    5  2025-01-31 22:05:23 echo $HISTTIMEFORMAT
    6  2025-01-31 22:24:46 env
    7  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:erasedups
    2  ls
    3  env | grep "HIST"
    4  history 

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

history -c

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

root@:~$ history 
    1  export HISTCONTROL=ignorespace:erasedups
    2  ls
    3  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:erasedups
    2  ls
    3* histor
    4  env
    5  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  ls
    3* histor
    4  env
    5  env | grep "HIST"
    6  history 
daizhixin@:~$ 
daizhixin@:~$ !!
history 
    1* export HISTCONTROL=ignorespace:erasedups!
    2  ls
    3* histor
    4  env
    5  env | grep "HIST"
    6  history 

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


http://www.niftyadmin.cn/n/5839344.html

相关文章

Flask 使用Flask-SQLAlchemy操作数据库

username db.Column(db.String(64), uniqueTrue, indexTrue); password db.Column(db.String(64)); 建立对应关系 如果是多对多关系就建一张表,关联两个表的id role_id db.Column(db.Integer, db.ForeignKey(‘roles.id’)) ‘’’ 帮助作关联查询 relati…

grpc 和 http 的区别---二进制vsJSON编码

gRPC 和 HTTP 是两种广泛使用的通信协议,各自适用于不同的场景。以下是它们的详细对比与优势分析: 一、核心特性对比 特性gRPCHTTP协议基础基于 HTTP/2基于 HTTP/1.1 或 HTTP/2数据格式默认使用 Protobuf(二进制)通常使用 JSON/…

2025最新源支付V7全套开源版+Mac云端+五合一云端

2025最新源支付V7全套开源版Mac云端五合一云端 官方1999元, 最新非网上那种功能不全带BUG开源版,可以自己增加授权或二开 拥有卓越的性能和丰富的功能。它采用全新轻量化的界面UI,让您能更方便快捷地解决知识付费和运营赞助的难题 它基于…

使用where子句筛选记录

默认情况下,SearchCursor将返回一个表或要素类的所有行.然而在很多情况下,常常需要某些条件来限制返回行数. 操作方法: 1.打开IDLE,加载先前编写的SearchCursor.py脚本 2.添加where子句,更新SearchCursor()函数,查找记录中有<>文本的<>字段 with arcpy.da.Searc…

SpringBoot 使用海康 SDK 和 flv.js 显示监控画面

由于工作需要将海康监控的画面在网页上显示&#xff0c;经过查找资料最终实现了。过程中发现网上的资料都不怎么完整&#xff0c;没办法直接用&#xff0c;所以记录一下&#xff0c;也帮后人避避坑。我把核心代码放到下面&#xff0c;完整工程放到码云上。完整工程带有前端页面…

【项目集成Husky】

项目集成Husky 安装初始化 Husky在.husky → pre-commit文件中添加想要执行的命令 安装 使用 Husky 可以帮助你在 Git 钩子中运行脚本&#xff0c;例如在提交代码前运行测试或格式化代码pnpm add --save-dev husky初始化 Husky npx husky init这会在项目根目录下创建一个 .hu…

Java基础知识总结(三十六)--IO流

用于处理设备上数据。在流中一般以字节的形式存放着数据&#xff01; 流&#xff1a;可以理解数据的流动&#xff0c;就是一个数据流。IO流最终要以对象来体现&#xff0c;对象都存在IO包中。 流也进行分类&#xff1a; 1&#xff1a;输入流&#xff08;读&#xff09;和输出…

【C++】类和对象(5)

目录 一、构造函数补充1、初始化列表 二、类型转换三、static成员四、友元1、友元函数2、友元类 五、内部类六、匿名对象 一、构造函数补充 对于之前讲解的构造函数&#xff0c;还有一些更深层次的内容要进行补充&#xff0c;接下来进行补充内容的讲解。 1、初始化列表 在我…