【Linux】history命令详解

在公用服务器的时候,有时候不想被其他人看见自己的使用痕迹,因此我们可以隐藏自己的执行过的命令,以此达到无痕使用。

作用

用于显示历史记录和执行过的指令命令
当登录shell或者是退出的时候会自动进行读取和存储

语法格式

history (选项)(参数)

参数 含义 备注
n 显示最近的n条记录
-a 将历史命令缓冲区中命令写入历史命令文件中
-c 将目前的shell中的所有 history 内容全部消除 实际为假删除
-r 将历史命令文件中的命令读入当前历史命令缓冲区
-w 将当前历史命令缓冲区命令写入历史命令文件中
-d 删除历史记录中指定的行

获取历史记录的最新2两条

[root@localhost data]# history 2

执行最后一次命令

[root@localhost data]# !!

清空当前历史记录(只是清空缓存中的历史记录,伪删除,文件中还存在)

[root@localhost ~]# history -c

清除历史记录
历史记录在每次正确的退出shell的时候会存储到 ~/.bash_history文件中
直接进行编辑该文件能达到清除历史记录的目的
全部删除历史记录

将当前缓存中的历史记录写入文件(缓存中的记录是空的-用空的数据写入文件,将文件内部删除)

[root@localhost ~]# history -w

删除300行历史记录(这样可以有针对性的保留历史记录)

[root@localhost ~]# history -d 300

通过vim或者是vi命令直接修改.bash_history文件

[root@localhost ~]# vi ~/.bash_history

参数配置
修改 /etc/profile文件

命令时间展示(HISTTIMEFORMAT)

显示命令时间

[root@localhost ~]# export HISTTIMEFORMAT='%F %T '
 
[root@localhost ~]# history
    1  2020-08-04 20:26:10 hisotry -w

命令大小(HISTSIZE)

将HISTSIZE设置为0,代表禁用history

[root@localhost ~]# export HISTSIZE=0

设置命令保存的行数,超过的话会自动删除最老的数据

[root@localhost ~]# export HISTSIZE=100000
[root@localhost ~]# export HISTFILESIZE=100000

历史记录文件名称(HISTFILE)

设置历史记录的文件名称为history.cmd

[root@localhost ~]# export HISTFILE=history.cmd

剔除连续的相同命令的条目,仅剩余一条

[root@localhost ~]# export HISTCONTROL=ignoredups

在不想被记住的命令前面输入一个空格-就不会被记住

[root@localhost ~]# export HISTCONTROL=ignorespace
 

忽略pwd、ls命令

[root@localhost ~]# export HISTIGNORE="pwd:ls:"

设置当前shell内的命令不再进入日志中

[root@localhost data]# set +o history

设置当前shell内的重新进入日志中

[root@localhost data]# set -o history

你可能感兴趣的:(操作系统,部署&Linux运维,linux,运维,服务器)