当前位置: 首页 > news >正文

Shell Daily 2025-12-30: 历史回溯 (History Expansion)

Shell Daily 2025-12-30: 历史回溯 (History Expansion)

你是否经历过这种“手指疲劳”时刻:刚敲完一行超长的命令 mkdir -p /var/www/project/frontend/v2,紧接着想进入这个目录,却发现不得不重新输入那一长串路径,或者疯狂按“向上箭头”去修改上一条命令。

其实,Shell 早就把你的每一个操作都记在了小本本上。利用 History Expansion (历史回溯),你可以像变魔术一样瞬间“召唤”出上一条命令的参数,手速直接提升一个量级。

怎么用

Shell 使用感叹号 ! 来触发历史回溯。虽然它功能繁多,但只需要记住最核心的两个就足以应付 90% 的场景:

  • !$:代表上一条命令的最后一个参数(Last Argument)。

  • !!:代表上一条完整的命令

  • 兼容性Bash / Zsh 交互模式。这是源自 C Shell 的特性,绝大多数现代 Shell 的交互模式默认开启,但不建议写在脚本里。

适用场景

  • 参数复用:操作同一个文件或目录,但命令动词变了(比如先 touchvim)。
  • 权限提升:敲完命令发现忘了加 sudo

示例 1:懒人目录跳转 (!$)

这是最经典的高频场景。刚建好目录,马上就要进去:

# 创建一个深层目录
mkdir -p /tmp/workspace/src/logs# 不用复制粘贴,!$ 自动替换为 "/tmp/workspace/src/logs"
cd !$

同理,如果你刚查看了一个文件,想编辑它:

cat /etc/nginx/conf.d/default.conf
# 发现有问题,直接编辑
# vim 会打开 /etc/nginx/conf.d/default.conf
vim !$

示例 2:拯救“权限不足” (sudo !!)

当你敲下回车,看到 Permission denied 时,内心通常是崩溃的。别急着重敲,让 Shell 帮你把上一条命令“塞”进 sudo 后面:

$ apt install docker.io
E: Could not open lock file... Permission denied# 甚至不需要动脑子,肌肉记忆直接敲:
$ sudo !!
# Shell 会自动执行:sudo apt install docker.io

示例 3:快速修正拼写 (oldnew)

还有一个特殊的快捷键用于修正上一条命令的拼写错误。假设你手滑了:

systemctl statsu nginx  # 把 status 拼错了
# 报错:Unknown operation statsu# 替换语法:^错的^对的
^statsu^status
# Shell 会自动修正并执行:systemctl status nginx
http://www.zskr.cn/news/181523.html

相关文章:

  • 一文讲清SRC漏洞挖掘—CNVD国家信息安全漏洞共享平台是如何提交漏洞的
  • JAVA生鲜配送源码:同城速达,骑手接单无忧
  • 环保型过碳酸钠生产企业有哪些?洗衣粉用过碳酸钠生产厂家、过碳酸钠一吨起批的厂家 - 品牌2026
  • AI大模型与Agent深度解析:程序员必学,值得永久收藏的指南
  • CUDA安装完成后如何验证PyTorch是否识别GPU?
  • 【学习笔记】rope
  • 2025年市场上优质的卡式风机盘管定制排行榜,空气幕/工业暖风机/消防排烟风机/卡式风机盘管/吊顶式空调机组卡式风机盘管采购排行榜 - 品牌推荐师
  • Jupyter Notebook主题美化:安装jupyter-themes
  • 2026 GEO行业趋势预判:五大值得关注的发展方向
  • 2026北京房山区抵押担保律师事务所口碑排名:权威测评5家靠谱机构 - 苏木2025
  • 耐达讯自动化PROFIBUS三路中继器:突破工业通信距离与干扰限制的利器
  • 如何区分日语中的一类动词
  • 成膜助剂供应商、成膜助剂厂家、成膜助剂供货商名单精选,top10榜单 - 品牌2026
  • 过碳酸钠出口厂商有哪些?有出口资质的过碳酸钠供应商、外贸公司推荐名单 - 品牌2026
  • 【论文精读】你的遗留系统正在耗尽预算:关于软件现代化,你必须知道的10个挑战
  • 陕西发泡陶瓷厂家盘点2025版:技术评价与推荐理由 - 深度智识库
  • BUUCTF | Web [极客大挑战 2019]EasySQL-- BUUOJ WriteUP
  • 天源中芯TP9311:为AI智能时代精心打造的高清音频感知芯片
  • Linux服务器上部署Miniconda-Python3.9用于批量AI任务处理
  • 2025年度靠谱渠坡水泥土摊铺机厂家推荐:护坡摊铺机厂家TOP5榜单 - myqiye
  • Docker run指定GPU设备运行Miniconda-PyTorch容器
  • 2025年成都初级调酒师培训学校推荐:咖啡调酒师培训学校有哪些? - mypinpai
  • Markdown笔记嵌入代码输出:Miniconda+Jupyter完美组合
  • CTF 竞赛 SQL 注入实战指南:突破过滤与非常规注入技巧
  • 2025年靠谱游泳池设备制造商推荐、室内游泳池设备品牌排名 - 工业品网
  • centos系统上docker和 dify生成openAI_API_compatible插件相关记录
  • 为什么微信分享成功后还能跳回app 但是safari打不开app,说明 微信分享走的是微信的URL Scheme ,Universal Link是不通的
  • 合规是企业zui长久的保护伞
  • 2025五面加工立卧复合加工中心生产厂家应用价值分析 - 栗子测评
  • 如何将下载的Jar包放到本地的Maven仓库?