加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

7个实用的操作 Bash 历史记录的快捷方式

发布时间:2019-10-15 12:42:00 所属栏目:Windows 来源:Ian Miell
导读:副标题#e# 这些必不可少的 Bash 快捷键可在命令行上节省时间。 大多数介绍 Bash 历史记录的指南都详尽地列出了全部可用的快捷方式。这样做的问题是,你会对每个快捷方式都浅尝辄止,然后在尝试了那么多的快捷方式后就搞得目不暇接。而在开始工作时它们就全

想象一下,我运行的命令如下所示:

  1. $ tar -cvf system.tar /etc/system
  2.  tar: /etc/system: Cannot stat: No such file or directory
  3.  tar: Error exit delayed from previous errors.

我可能要做的第一件事是转到 /etc 文件夹,查看其中的内容并找出我做错了什么。

我可以通过以下方法来做到这一点:

  1. $ cd !$:h
  2. cd /etc

这是说:“获取上一个命令的最后一个参数(/etc/system),并删除其最后的文件名部分,仅保留 / etc。”

6、当前行:!#:1

多年以来,在我最终找到并学会之前,我有时候想知道是否可以在当前行引用一个参数。我多希望我能早早学会这个快捷方式。我经常常使用它制作备份文件:

  1. $ cp /path/to/some/file !#:1.bak
  2. cp /path/to/some/file /path/to/some/file.bak

但当我学会之后,它很快就被下面的快捷方式替代了……

7、搜索并替换:!!:gs

这将搜索所引用的命令,并将前两个 / 之间的字符替换为后两个 / 之间的字符。

假设我想告诉别人我的 s 键不起作用,而是输出了 f

  1. $ echo my f key doef not work
  2. my f key doef not work

然后我意识到这里出现的 f 键都是错的。要将所有 f 替换为 s,我可以输入:

  1. $ !!:gs/f /s /
  2. echo my s key does not work
  3. my s key does not work

它不只对单个字符起作用。我也可以替换单词或句子:

  1. $ !!:gs/does/did/
  2. echo my s key did not work
  3. my s key did not work

测试一下

为了向你展示如何组合这些快捷方式,你知道这些命令片段将输出什么吗?

  1. $ ping !#:0:gs/i/o
  2. $ vi /tmp/!:0.txt
  3. $ ls !$:h
  4. $ cd !-2:$:h
  5. $ touch !$!-3:$ !! !$.txt
  6. $ cat !:1-$

总结

对于日常的命令行用户,Bash 可以作为快捷方式的优雅来源。虽然有成千上万的技巧要学习,但这些是我经常使用的最喜欢的技巧。

【编辑推荐】

  1. 安全强化你的 Linux 服务器的七个步骤
  2. 详解3种区别Linux服务器是物理机或者虚拟机的方法
  3. Bash学习的快乐之旅:3个命令行游戏
  4. 生成Linux运行时间报告的Bash脚本
  5. 几个命令了解ELF文件的”秘密“
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读