Linux命令--history

一、简介

  history命令是用来查看历史命令的

二、选项:

-c:清空当前历史命令(命令缓冲区内);
-a:将历史命令缓冲区中命令写入历史命令文件中;
-r:将历史命令文件中的命令读入当前历史命令缓冲区;
-w:将当前历史命令缓冲区命令写入历史命令文件中。

注意:
选项-a和-w的区别是,
-a是把命令缓冲区的命令追加填写在文件后边,(>>)
-w是把命令缓冲区的命令覆盖之前的历史命令。(>)

历史命令基本
1、当前shell的历史命令会保存在命令缓冲区内。
2、在shell退出的时候会保存在用户的/home/.bash_histoty内。
3、可以使用上下箭头来翻看命令

三、历史命令用法:

!数字:执行history中第数字条的命令
!!:上一条命令
!-数字:表示执行命令列表中的倒数第数字条命令
     !数字:表示执行命令列表中的第*条命令
!$:执行上个命令中的最后一个参数(ESC+.)
!string:执行命令列表中的最近一次以string开头的命令

四、历史命令的相关环境变量(/etc/profile)

HISTSIZE:历史命令中可以保存的个数
HISTFILE: 历史命令保存的文件
HISTFILESIZE:历史文件中可以保存的命令个数
HISTCONTROL:控制命令历史的生成
    ignoredups:忽略记录重复的命令,连续的相同命令
        ignorespace:以空格开头的命令不会被记录
        ignoreboth:同时具有上面两种特性

HISTTIMEFORMAT: 显示时间戳

五、实例:

1.配置忽略记录重复的命令,连续的相同命令、以空格开头的命令不会被记录

[root@123 ~]# HISTCONTROL=ignoreboth
[root@123 ~]# echo $HISTCONTROL
ignoreboth

2、配置历史命令显示时间戳

[root@cxm ~]# export HISTTIMEFORMAT='%F %T '  
[root@cxm ~]# 
[root@cxm ~]# 
[root@cxm ~]# 
[root@cxm ~]# history 
   1  2017-10-26 14:34:33 ping www.baidu.com
   2  2017-10-26 14:34:33 yum -y upgrade kernel kernel-devel
   3  2017-10-26 14:34:33 reboot
   4  2017-10-26 14:34:33 ip a'
   5  2017-10-26 14:34:33 ip a

3、正常使用

[root@cxm ~]# history 
    1  2017-10-26 14:34:33  root  ping www.baidu.com
    2  2017-10-26 14:34:33  root  yum -y upgrade kernel kernel-devel
    3  2017-10-26 14:34:33  root  reboot
    4  2017-10-26 14:34:33  root  ip a'
    5  2017-10-26 14:34:33  root  ip a

你可能感兴趣的:(Linux命令--history)