history历史命令概述及用法

history历史命令的概述:

        查看命令的历史(显示内存中的所有历史)当你输入命令的时候默认会把它记录到内存中,当你把当前的终端退出或者注销时就会把命令历史保存到磁盘中的一个文件中,保存到了当前用户的家目录中,在家目录中有个.bash_history保存到这个文件中,新执行的命令只会在内存的缓存中不会立即保存到文件中只有在关机或者注销的时候才会保存到文件中

history用法

-c: 清空命令历史

-d offset: 删除历史中指定的第offset个命令

n: 显示最近的n条历史

-a: 追加本次会话新执行的命令历史列表至历史文件

-r: 读历史文件附加到历史列表

-w: 保存历史列表到指定的历史文件

-n: 读历史文件中未读过的行到历史列表

-p: 展开历史参数成多行,但不存在历史列表中

-s: 展开历史参数成一行,附加在历史列表后

调用命令历史的方法:

重复前一个命令,有4种方法

1.重复前一个命令使用上方向键,并回车执行

2.按 !! 并回车执行

3.输入 !-1 并回车执行

4.按 Ctrl+p 并回车执行

!:0  执行前一条命令(去除参数)

Ctrl + n 显示当前历史中的下一条命令,但不执行

Ctrl + j 执行当前命令

!n 执行history命令输出对应序号n的命令

!-n  执行history历史中倒数第n个命令

!string 重复前一个以“string”开头的命令

!?string 重复前一个包含string的命令

!string:p 仅打印命令历史,而不执行

!$:p 打印输出 !$ (上一条命令的最后一个参数)的内容

!*:p 打印输出 !*(上一条命令的所有参数)的内容

^string 删除上一条命令中的第一个string

^string1^string2 将上一条命令中的第一个string1替换为string2

!:gs/string1/string2 将上一条命令中所有的string1都替换为 string2

使用up(向上)和down(向下)键来上下浏览从前输入的命令

ctrl-r来在命令历史中搜索命令

                             (reverse-i-search)`’:

Ctrl+g:从历史搜索模式退出

要重新调用前一个命令中最后一个参数

!$  表示

Esc, .(点击Esc键后松开,然后点击 . 键)

Alt+ .(按住Alt键的同时点击 . 键)

history命令历史相关环境变量

HISTSIZE:命令历史记录的条数(内存中)

HISTFILE:指定历史文件,默认为~/.bash_history

HISTFILESIZE:命令历史文件记录历史的条数 (文件中)

HISTTIMEFORMAT=“%F %T “  显示时间

(备注:在保存到文件时文件显示会不一样,文件中显示的是数字并不是具体的时间这个数字是到1970年1月1日的秒数,原因是69年是unix诞生日所以作为unix的元年)

HISTIGNORE=“str1:str2*:… “ 忽略str1命令,str2开头的历史

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

环境变量:HISTCONTROL

    ignoredups 默认,忽略重复的命令,连续且相同为“重复”

    ignorespace 忽略所有以空白开头的命令

    ignoreboth 相当于ignoredups, ignorespace的组合

    erasedups 删除重复命令

备注:如果我们想让配置一直生效就必须修改文件  /etc/profile 或 ~/.bash_profile

你可能感兴趣的:(history历史命令概述及用法)