如何用history命令提升终端效率?

基础用法

  1. 查看历史命令
    直接输入 history 会显示所有记录(默认保存最近 500 条):

    history

    输出示例:

    1  cd ~/Documents
    2  ls -l
    3  nano file.txt
    ...
  2. 执行历史命令

    • 通过序号执行:!序号(如 !2 会重新执行 ls -l)
    • 执行上一条命令:
    • 执行最近以关键词开头的命令:(如 !nano 会执行最近一条 nano 命令)

高级技巧

搜索历史命令

  • 反向搜索:按 Ctrl + R 进入搜索模式,输入关键词实时匹配,按 Enter 执行或 Ctrl+C 退出。
  • 正向搜索:按 Ctrl + S(需先解除终端锁定:执行 stty -ixon)。

快速调用参数

  • :引用上一条命令的最后一个参数
    mkdir project  # 创建目录
    cd !$          # 进入 project(等同于 cd project)
  • !^:引用上一条命令的第一个参数
  • :引用上一条命令的所有参数

删除历史记录

  • 删除单条:history -d 序号(如 history -d 5)
  • 清空所有记录:history -c

个性化配置(修改 ~/.bashrc 文件)

  1. 调整记录数量
    将历史记录扩容至 5000 条:

    echo "HISTSIZE=5000" >> ~/.bashrc
    echo "HISTFILESIZE=5000" >> ~/.bashrc
  2. 忽略敏感命令
    不记录包含 password 或空格开头的命令:

    echo 'export HISTCONTROL=ignorespace:ignoredups' >> ~/.bashrc
    echo 'export HISTIGNORE="*password*"' >> ~/.bashrc
    • ignorespace:忽略空格开头的命令
    • ignoredups:跳过重复命令
  3. 添加时间戳
    每条命令前显示执行时间:

    echo 'export HISTTIMEFORMAT="%F %T "' >> ~/.bashrc

    生效配置:source ~/.bashrc


安全注意事项

  • 敏感信息防护:
    避免在命令中直接输入密码(如 mysql -u root -p123456),建议使用交互式输入或专用管理工具。
  • 清除痕迹:
    离开共享主机前执行 history -c 清空记录。

应用场景示例

  1. 重复复杂操作

    # 首次执行
    tar -czvf backup_2025.tar.gz /home/user/documents
    # 后续调用
    !tar   # 直接重新打包
  2. 定位错误命令
    通过带时间戳的历史记录检查误操作时间点:

    history | grep "2025-05-01"

history 是终端效率的核心工具,通过灵活调用历史命令、配置个性化规则,可大幅减少重复输入,关键配置项:

  • HISTSIZE:控制内存中保存的记录数
  • HISTFILESIZE:控制历史文件(~/.bash_history)的大小
  • HISTCONTROL:过滤敏感记录

引用说明参考 GNU Bash 官方手册及 Linux 内核文档,配置方法已在 Ubuntu 22.04、CentOS 7 和 macOS Monterey 系统验证,历史记录存储机制详见 man bash 中的 HISTORY 章节。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6606.html

赞 (0)
酷番叔酷番叔
上一篇 2025年7月8日 01:25
下一篇 2025年7月8日 01:38

相关推荐

  • 如何选购合适的关系型数据库产品?关系型数据库哪个好用

    购买关系型数据库的核心在于根据业务场景选择公有云托管服务或自建私有部署,2026年主流趋势是优先选择具备AI自治运维能力且符合等保2.0三级标准的云厂商产品,以实现成本与性能的最优平衡,在数字化转型进入深水区的2026年,数据库不再仅仅是数据存储容器,而是业务连续性的核心基石,面对市场上琳琅满目的产品,许多技术……

    2026年6月1日
    19000
  • ASP连接MYSQL打折

    在Web开发中,ASP(Active Server Pages)作为一种经典的动态网页技术,常用于构建企业级应用,而MySQL作为开源的关系型数据库管理系统,凭借其高性能、稳定性和低成本特性,被广泛应用于各种数据存储场景,将ASP与MySQL结合使用,不仅能发挥两者的技术优势,还能通过优化配置降低开发成本,实现……

    2025年11月30日
    19400
  • asp水印组件

    在Web开发中,为图片添加水印是一项常见需求,既能保护图片版权,又能提升品牌标识,ASP(Active Server Pages)作为一种经典的Web开发技术,通过水印组件可以高效实现图片水印功能,本文将详细介绍ASP水印组件的核心功能、技术实现、使用方法及注意事项,帮助开发者快速掌握这一实用工具,ASP水印组……

    2026年1月1日
    19900
  • dwarf模式能监控整个系统吗?

    perf 命令中的 -g 选项:深入解析调用栈分析在 Linux 性能分析领域,perf 是内核开发者及系统工程师的核心工具之一,其 -g(或 –call-graph)选项用于捕获函数调用关系(Call Graph),帮助开发者定位性能瓶颈的根源,下面从原理到实践详细说明其用法,-g 选项的核心作用-g 指示……

    2025年7月9日
    24900
  • ASP登录后如何实现页面跳转?

    在Web开发中,用户登录后的页面跳转功能是提升用户体验的关键环节,以ASP(Active Server Pages)技术为例,实现登录后跳转需要结合前端表单提交、后端身份验证以及Session管理等多个技术点,确保流程的安全性与流畅性,本文将详细解析ASP登录后跳转的实现原理、代码逻辑及常见优化方案,登录跳转的……

    2026年1月5日
    24100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信