历史命令

    bash会将在Shell里输入过的一些命令保存在历史命令文件中,保存的命令数量取决于环境变量HISTSIZE(默认保存1000条,可以更改这个值)。
    bash执行命令时不会立即将命令写入历史命令文件,而是先存放在内存的缓冲区中,该缓冲区被称为历史命令列表。等bash退出再将历史命令列表写入历史命令文件中,也可以执行 #history –w 命令要求bash立刻将历史命令列表写入历史命令文件。
    历史命令文件名由环境变量HISTFILE变量制定,历史命令文件的默认名字是:
.bash_history(以小点开头的文件是隐藏文件),该文件通常在用户主目录中(root用户是/root/.bash_history,普通用户是/home/*/.bash_history)。
    当用户登录系统后,历史命令列表会根据当前用户目录下的.bash_history文件进行初始化。
    History命令的语法和用法:
history [n]
    功能:当history命令没有参数,将显示整个历史命令列表的内容。如果使用n参数,将显示最后n个历史命令。
history [-a|n|r|w] [filename]
    history命令各选项及其功能说明
        -a:把当前的历史命令记录追加到历史命令文件中
        -c:清空历史命令列表
        -n:将历史命令文件中的内容加入到当前历史命令列表中
        -r:将历史命令文件中的内容更新(替换)当前历史命令列表
        -w:把当前历史命令列表的内容写入历史命令文件,并且覆盖历史命令文件的原来内容

    Filename    如果filename选项没有被制定,history命令将使用环境变量HISTFILE指定的文件名

    执行历史命令最简单的方法就是使用小键盘上的方向键,进行历史命令查询。

    按向上箭头向后翻阅历史命令,按向下箭头向前翻阅历史命令,直到找到所需的命令为止,按下Enter键执行命令。
    快速执行历史命令也可以使用几种特定的方式进行,如下所示:

        !n: n表示序号(执行history命令可以看到),重新执行第n条命令
        !-n:重复执行倒数第n条命令
        !!:重新执行上一条命令
        !string:执行最近用到的以string开始的历史命令
        !?string[?]:执行最近用到的包含string的历史命令
        !\$:表示获得前面命令行中最后一项内容。例如先执行#cat /etc/sysconfig/network-scripts/ifconfig-eth0,然后想用gedit编辑,可以输入命令#gedit !$
    <ctrl+r>在history表中查询某条历史命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值