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 08:49
下一篇 2016-09-05 08:50

相关推荐

  • linux初期了解

    计算机的组成及其功能 计算机有运算器,控制器,存储器,输出设备和输入设备组成: 1.运算器:运算器又称算术逻辑单元(Arithmetic Logic Unit简称ALU)。它是计算机对数据进行加工处理的部件,包括算术运算2.控制器:控制器负责从存储器中取出指令,并对指令进行译码 3.存储器:存储器是计算机记忆或暂存数据的部件。 4.输入设备:输入设备是给计算…

    Linux干货 2016-10-30
  • 在软raid10上使用LVM,并且进行磁盘配额,最后还原。

    实验环境 1)centos 7.3 2)lvm格式化的文件系统为ext4 3)磁盘为单一磁盘的不同分区 4)使用软件:mdadm,lvm2 tools,quota 软raid10的创建 一,两个raid1的创建 1)对磁盘进行分区,使用工具fdidk,每个大小为1GB,类型改为fd。我的分区情况:/dev/sda{6,7,8,9}将会拿来做为raid的磁盘。…

    Linux干货 2017-03-16
  • Linux三剑客awk命令

    1 .awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。 awk其名称得自…

    2017-09-08
  • 搭建yum仓库的FTP服务器

    搭建centos7ftp服务

    2017-12-02
  • Linux进程及作业控制

    inux进程 进程的概念 当一个系统启动时,刚开机是第一个运行的是内核代码!先把内核放到cpu上运行,等内核控制和掌管了一切,有内核启动进程!然后创建第一个进程 init进程  内核空间 用户空间也都已被创建成功!后期的一切管理工作都由init来负责 init不能代表系统完成一些内核特权的执行!但由他负责向内核提交 他…

    Linux干货 2016-09-10
  • 第二章 linux高级命令的简单使用以及shell脚本的简单制作

    重定向;正则表达式;grep;sed;vim;yum;shell脚本

    Linux干货 2018-03-17