【Linux】一步一步学Linux——history命令(213)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/dengjin20104042056/article/details/100297388

00. 目录

01. 命令概述

history命令用于显示用户以前执行过的历史命令,并且能对历史命令进行追加和删除等操作。

该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令。例如,要执行第2个历史命令,则输入!2

历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取。在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量HISTSIZE进行控制。

02. 命令格式

格式: history [选项] [参数]

03. 常用选项

-a	将当前shell会话的历史命令追加到命令历史文件中,命令历史文件是保存历史命令的配置文件
-c	清空当前历史命令列表
-d	删除历史命令列表中指定序号的命令
-n	从命令历史文件中读取本次Shell会话开始时没有读取的历史命令
-r	读取命令历史文件到当前的Shell历史命令内存缓冲区
-s	将指定的命令作为单独的条目加入命令历史内存缓冲区。
	在执行添加之前先删除命令历史内存缓冲区中最后一条命令
-w	把当前的shell历史命令内存缓冲区的内容写入命令历史文件

04. 参考示例

4.1 查看历史命令

[deng@localhost ~]$ history 
[deng@localhost ~]$

4.2 显示最近的5条命令

[deng@localhost ~]$ history 5
  816  man history
  817  help history
  818  history
  819  history 
  820  history 5
[deng@localhost ~]$ 

4.3 将当前历史写入到历史文件中

[deng@localhost ~]$ history -w
[deng@localhost ~]$ 

将当前历史写入到历史文件中并追加到历史列表中。

4.4 读取历史文件并将内容追加到历史列表中

[deng@localhost ~]$ history -r
[deng@localhost ~]$ 

4.5 将当前Shell会话的历史命令追加到命令历史文件中

[deng@localhost ~]$ history -a
[deng@localhost ~]$ 

4.6 删除所有条目从而清空历史列表

[deng@localhost ~]$ history -c
[deng@localhost ~]$ history 
  646  history 
[deng@localhost ~]$ 

4.7 执行历史列表中646条命令

[deng@localhost ~]$ history 
  646  history 
[deng@localhost ~]$ !646
history 
  646  history 
[deng@localhost ~]$ 

4.8 执行最近一条历史命令

[deng@localhost ~]$ !!
history
  646  history 
  647  history
  648  ! -1
  649  history
[deng@localhost ~]$ 

4.9 常用设置

$ export HISTCONTROL=ignoredups               # 消除命令历史中的连续重复条目

$ export HISTSIZE=0                           # 禁用history命令

$ export HISTCONTROL=erasedups                # 在整个历史中去除重复命令

$ export HISTFILESIZE=1000000                 # 设置历史文件大小

$ export HISTTIMEFORMAT='%F %T'               # 设置时间戳,执行后生效

$ export HISTTIMEFORMAT="%F %T `whoami`"      # 显示执行用户,对管理员很有用

$ export HISTIGNORE=“pwd:ls:”               # 忽略特殊命令,只忽略ls并不忽略ls -lart

$ export HISTCONTROL=ignorespace              # 忽略某条特定命令

$ export HISTFILE=/root/history.txt           # 设置历史文件的存储目录

4.10 常用参数

$ !!          # 前一条命令;
$ !:0          # 不带参数的前一条命令名;
$ !^           # 前一条命令的第一个参数;
$ !:n          # 前一条命令的第n个参数;
$ !$           # 前一条命令的最后一个参数;例如  $ mkdir test; cd !$
$ !*              # 前一条命令的所有参数,命令名除外;
$ !n           # 第n条命令;
$ !-n          # 倒数第n条命令;
$ !str         # 最近一条以str开头的命令;
$ !?str         # 最近一条包含str的命令;
$ ^a^b          # 将上一条命令名中的a替换为b;
$ !:gs/a/b       # 将上一条命令的所有a替换为b(包含命令名和参数)。                        
$ !:3             # 第三个参数数
$ !:2-4           # 第2到4个参数
$ !:-3            # 从第0个到第三个参数
$ !*              # 第一个到最后一个参数
$ !:2*            # 第2个到最后一个
$ !:2-            # 从第2个开始,但不要结尾参数

05. 总结

在这里插入图片描述

06. 附录

参考:【Linux】一步一步学Linux系列教程汇总

猜你喜欢

转载自blog.csdn.net/dengjin20104042056/article/details/100297388