总结历史命令管理以及用法

shell进程会在其会话中保存此前用户提交执行过的命令,可以用它来重复执行命令;包括关机之前的指令。在exit之前,你所操作的历史命令都是储存在内存中,所以你只需要history就能找到在这之前的命令,exit之后,内存中的历史命令会保存在.bash_history中,以便再次登录能够查看之前操作的历史命令。
现在就让我们看看history命令的具体用法
history [-c] [-d offset] [n]
history -anrw [filename]
history -ps [arg]

-c 清空历史命令
-d offset 删除历史命令中的第offset个命令
n 显示最近的n条命令
-a 追加本次会话新执行的命令历史列表中至历史文件
-r  读取历史文件附加到历史列表
-w 保存历史列表到指定的历史文件
-n 读取历史文件中未度过的行到历史列表
-p 展开历史参数成多行,但不存在历史列表中
-s 展开历史参数或行附加到历史列表后

还有历史命令相关的环境变量
    HISTSIZE 历史命令记录的数量
    HISTFILE 指定历史命令文件(默认为~/.bash_history)
    HISTFILESIZE 命令历史文件记录历史的数量
    HISTGNORE="str1:str2*" 忽略str1,str2开头的历史
    HISTCONTROL
                    ignoredups(默认) :忽略重复的命令,注:连续相同的为重复
                    igonrespace :忽略所有空白开头的命令
                    igonreboth :二者合一
                    erasedips :删除重复命令

基于历史命令的一些命令,及用法
重复前一个命令
1、向上方向键
2、!!
3、! -1
4、ctrl +p
!:0 执行前一条命令(去除参数)
ctrl+n 显示当前历史命令中的下一条命令
ctrl+j执行当前命令
!n 执行历史命令中第n条历史命令
!-n 执行历史命令中倒数n条历史命令
!string 重复前一个一“string”开头的命令
!?string 重复前一个包含“string”的命令
!string:p 仅打印历史命令但不执行
!$:p 打印输出!$(上一个命令的最后一个参数)的内容
! :p 打印输出!(上一条命令所有参数)的内容
^string 删除上一条历史命令中第一个string
^string1^string2 将上一条历史命令中的第一个string1替换为string2
!:gs/string1/string2 将上一条历史命令中所有的string1替换为string2
ctrl + r 搜索历史命令
ctrl + g 退出历史搜索模式
重新调用前一个命令中最后一个参数:!$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值