linux历史命令history详解

history命令

history命令用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。

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

  128  ls
 129  history
[root@localhost ~]# !128
ls
aa.txt  anaconda-ks.cfg  awk.txt  grep  sed  sed1  sed2

语法

history(选项)(参数)

选项

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

参数

n:打印最近的n条历史命令。

[root@localhost ~]# history 3
 133  echo $HISTSIZE
 134  history -3
 135  history 3

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

[root@localhost ~]# echo $HISTSIZE
1000

HISTFILE :指定历史文件,默认为~/.bash_histor或存放在 /etc/profile 
HISTFILESIZE :命令历史文件记录历史的条数; 
HISTTIMEFORMAT=“%F %T“ 显示时间 
export 变量名=" 值“

[root@localhost ~]# export HISTTIMEFORMAT='%F %T '
[root@localhost ~]# history
.........
 138  2016-09-02 03:12:12 vim .bash_history
 139  2016-09-02 03:14:46 export HISTTIMEFORMAT='%F %T '
 140  2016-09-02 03:14:49 history
 141  2016-09-02 03:15:15 export HISTTIMEFORMAT='%F %T '
 142  2016-09-02 03:15:16 history

控制命令历史的记录方式: 
环境变量:HISTCONTROL 
ignoredups :忽略重复的命令;连续且相同方为“重复” 
ignorespace :忽略所有以空白开头的命令 
ignoreboth :ignoredups, ignorespace 
erasedups: 删除重复命令

History命令的用途确实很大!但需要小心安全的问题!尤其是 root 的历史纪录档案,这是黑客们的最爱!因为不小心的 root 会将很多的重要资料在执行的过程中会被纪录在 ~/.bash_history 当中,如果这个档案被解析的话,后果不堪设想!

原创文章,作者:M20_he,如若转载,请注明出处:http://www.178linux.com/42910

(0)
M20_heM20_he
上一篇 2016-09-05
下一篇 2016-09-05

相关推荐

  • 78 款 Markdown 工具

    Markdown 是一种易写易读的文本标记语言。本文介绍了编写、查看 Markdown 的78种工具,涵盖桌面端、移动端和 web 端。     Markable 强大的在线 Markdown 编辑器,支持语法高亮、自动缩进、高亮所在行、显示行数、即时预览。它支持将 HTML 转换成 Markdown。 可以配合 Evernote、Dro…

    2015-03-26
  • iptables实现地址转换

    NAT:(工作在网络和传输层) 过载技术 Basic NAT:静态NAT     一个内部主机,分配一个外网地址 NAPT:动态NAT,网络地址端口转换;net会话表     源地址转换:SNAT 用于内网主机访问互联网    &…

    Linux干货 2016-10-31
  • 马哥教育网络班21期+第15周课程练习

    1、总结sed和awk的详细用法; sed 流编辑器,处理一行数据到模式空间(p),不匹配条件话就输出源行,匹配条件且有处理话,就输出处理过后的行和源行, 匹配条件且没有处理动作的话,只输出p空间的行;保持空间(h)用来存放模式空间的临时处理结果 [root@centos ~]# sed ''&nb…

    Linux干货 2016-08-30
  • vim编辑器总结与操作练习

    一、VIM总结如下: 模式化的编辑器 1、三种基本模式:     编辑模式(命令模式)     输入模式(插入模式)    末行模式:内置的命令行接口 2、如何使用VIM打开文件,编辑文件     打开文件:     #vim  【options】【file】     +n;打开文件后直接让光标处于第n行的行首     +/PATTERN:打开文件后,直接让…

    2017-11-29
  • 马哥Linux第五周作业

    at,cron,rpm,yum,sed

    2018-01-12