linux的history命令

history是系统内建命令,查看帮助方法如下:

help history
[root@node1 ~]# help history
history: history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 [参数...]
    显示或操纵历史列表。
    
    带行号显示历史列表,将每个被修改的条目加上前缀 `*'。
    参数 N 会仅列出最后的 N 个条目。
    
    选项:
      -c    删除所有条目从而清空历史列表。
      -d 偏移量    从指定位置删除历史列表。
    
      -a    将当前绘画的历史行追加到历史文件中
      -n    从历史文件中读取所有未被读取的行
      -r    读取历史文件并将内容追加到历史列表中
        中
      -w    将当前历史写入到历史文件中
        并追加到历史列表中
    
      -p    对每一个 ARG 参数展开历史并显示结果
        而不存储到历史列表中
      -s    以单条记录追加 ARG 到历史列表中
    
    如果给定了 FILENAME 文件名,则它将被作为历史文件。否则
    如果 $HISTFILE 变量有值的话使用之,不然使用 ~/.bash_history 文件。
    
    如果 $HISTTIMEFORMAT 变量被设定并且不为空,它的值会被用于
    strftime(3) 的格式字符串来打印与每一个显示的历史条目想关联的时
    间戳,否则不打印时间戳。
    
    退出状态:
    返回成功,除非使用了无效的选项或者发生错误。

1. history常用命令:

1. 显示最近3条命令历史

histroy 3

2. 重复执行第N条命令

!N

3. 重复执行倒数第N条命令

!-N

4. 重复执行上一条命令

 !!

5. 重复执行最近一条以string开头的命令

!string

6. 调用上一条命令的最后一个参数

!$
command !^ 利用上一个命令的第一个参数做cmd的参数
command !$ 利用上一个命令的最后一个参数做cmd的参数
command !* 利用上一个命令的全部参数做cmd的参数
command !:n 利用上一个命令的第n个参数做cmd的参数


2. history清空命令

当前session执行的命令,放置在缓存中,正常退出或关闭时,会把缓存信息写入 ~/.bash_history。
当session直接被kill时,缓存中的命令不会写入 ~/.bash_history。

1、清空历史命令文件

# > ~/.bash_history

2、清空当前缓存中的命令

# history -c

3、直接关闭终端即可。

如果不想保留任何痕迹,退出时不要敲exit,这样exit会被保存。

4、删除历史中指定的第offset个命令


3. 相关环境变量

HISTSIZE:命令历史记录的条数;
HISTFILE:~/.bash_history;
HISTFILESIZE:命令历史文件记录历史的条数;
HISTTIMEFORMAT=“%F %T “ 显示时间

控制命令历史的记录方式:

环境变量:HISTCONTROL

        ignoredups:忽略重复的命令;连续且相同方为“重复”;
        ignorespace:忽略所有以空白开头的命令;
        ignoreboth:ignoredups, ignorespace;

修改环境变量值的方式:export 变量名="值"
变量赋值:把赋值符号后面的数据存储于变量名指向内存空间;

# vim /etc/profile
export HISTTIMEFORMAT="%F %T `whoami` "    这里插入了whoami用来显示命令的操作用户
export HISTSIZE=100000
export HISTFILESIZE=20000

搜索历史命令

ctrl+r来在命令历史中搜索命令
Ctrl+g:从历史搜索模式退出

猜你喜欢

转载自www.cnblogs.com/ifme/p/12365394.html