Linux CentOS7 history命令

linux查看历史命令可以使用history命令,该命令可以列出所有已键入的命令。

这个命令的作用可以让用户或其他有权限人员,进行审计,查看已录入的命令。

用户所键入的命令作为应保存的信息将记录在文件中,这个文件就是家目录中的一个隐藏文件~/.bash_history。

了解历史命令存放的位置,对后面的各项讨论十分重要。

我们对于前面用过的几个命令,可以通过方向键的上下按键来查看。这个很方便,但对于更前面的命令,将会加大难度,不好找到。只有用历史命令才便捷。

在终端中输入以下命令查看所有命令:

        history

Linux CentOS7 history命令_第1张图片

查看历史命令的帮助信息,可以更多了解选项与参数。

Linux CentOS7 history命令_第2张图片

从上述信息中,我们介绍几个重要的历史命令操作。

一、保存历史命令

历史命令的保存有两种情况:bash自动保存:

当使用过当前的bash时,系统会自动保存历史命令在家目录的隐藏文件中。自动退出与强制退出都是如此何存。

当我们认为有必须及时保存历史命令时,可以执行如下命令:

        history –w

        w 是write的简写。命令的功能是保存当前的历史命令到默认文件中。

当我们需要保存历史命令到另外文件时,也可以重定向:

        history > ./history.txt

二、清除历史命令

如果在服务器中干了不好的事情,可以通过“history -c”命令进行清除,那么其他人登录终端时就无法查看历史操作命令了。

但此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_history文件中的记录。

我们刚才查看当前历史命令为13条,我们执行清除历史命令,再查看:

        history -c

按向上方向键,没有反应。执行history命令,也没有内容。

三、删除某一条历史命令

我们重新执行几条命令。

Linux CentOS7 history命令_第3张图片

查看文件中保存的原来的历史命令(打开bash时,已存在的历史命令),在执行history –c后,仍然存在。此命令清除的是缓存区的历史命令。

我们执行删除某一条历史命令:

        history –d 5

        d  是delete命令的简写,5 是缓存区中的第5条命令。

执行结果:

Linux CentOS7 history命令_第4张图片

四、执行历史命令

1.!n

通过查看历史命令,我们可以重新执行一次原来执行过的历史命令,方法就是,用!+ 历史命令顺序号

我们执行第12条命令:

        !12

执行后如下(因为这个命令是前两个,当然可以按向上方向键执行)

Linux CentOS7 history命令_第5张图片

2.ctrl+r

我们想执行原来执行过的历史命令,也可以用快捷键调出原命令,再执行一次。

如再执行passwd命令:

按完快捷键后,录入一个p,会自动出来原来所有以p开头的命令(本案例命令比较少,含p开头的命令只有一个,我们很好选择。如果p开头的命令多时,可再录入一个字符,或用上下方向键进行选择)。

五、调整历史命令最大条数

在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量 HISTSIZE进行控制。

使用   echo $HISTSIZE

可以查看历史命令最多条数。

可以重新设置最大条数,如

        HISTSIZE=2000

Linux CentOS7 history命令_第6张图片

六、history其他选项

        -N: 显示历史记录中最近的N个记录;

        -a:将历史命令缓冲区中命令写入历史命令文件中;

        -r:将历史命令文件中的命令读入当前历史命令缓冲区;

        -w:将当前历史命令缓冲区命令写入历史命令文件中;

        -n:读取指定文件

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

Linux CentOS7 history命令_第7张图片

默认情况下,history并不记录命令的执行时间,但我们可以使用HISTTIMEFORMAT在历史中显示TIMESTAMP。

小结

历史命令应用广泛,熟练掌握,可以查看并快速执行相关命令。

你可能感兴趣的:(bash命令,linux,运维,服务器,bash,桥接模式,python)