命令行操作,从0到1 —— 提高操作效率

| 实用工具 , CLI(命令行)

 

内容概览

  • 前言
  • 高效的键盘操作
  • 高效的指令
  • 高效的工具
  • 总结

 

前言

 

命令行操作,从0到1 —— 基础知识 一文中,您已经学会了一些最基本的命令行知识。

程序员是一个比较注重效率的群体,所以 Ficow 希望通过本文来帮助您提高命令行操作的效率。

请注意,后文中的所有命令行操作和工具,在 macOS Big Sur 操作系统中都可以正常运行。
如果您发现您的系统无法正常执行某个命令,可能是因为缺少某些依赖。如果需要的话,您可以尝试去安装。

如果您使用的不是 macOS 系统,那么 Control 键对应的是 Ctrl 键,Option 键对应的是 Alt 键。

如有其他问题,欢迎您给 Ficow 留言,我会尽快回复~

 

高效的键盘操作

 

上下箭头键

在所有通过键盘来操作命令行的按键中,上下箭头键一定是非常高频的操作。

命令行软件会保留您执行过的命令行指令,您只需要在命令行终端里按下 键,即可看到上一次执行的指令。

tab 键

当我在 Music 目录下输入 ls 指令,然后在空格之后按下 tab 键,命令行会提示我所有可用的路径:

当我进入到 Music 目录,然后输入 cd 指令并在空格后输入 M。此时按下 tab 键,命令行会提示所有以 M 开头的可用路径:

当您需要输入某些指令,但是您又不记得指令如何拼写时,可以尝试按下 tab 键。

比如,Ficow 键入了 hi 后按下了 tab 键,命令行会提示所有以 hi 开头的值(不区分大小写):

此时,您可以通过 tab 或者 方向键 来移动光标以选中您想要的那个值,然后按下 enter 键去确定选择:

怎么样?上司再也不用担心你的记忆力了~

 

编辑指令时常用的快捷键

  • Control + a,移动光标到行首
  • Control + e,移动光标到行末
  • Control + p,切换到上一条(previous)指令
  • Control + n,切换到下一条(next)指令
  • Option + b,移动光标到前(back)一个单词
  • Option + f,移动光标到后(forward)一个单词
  • Control + -,撤销编辑操作(可以无限后退)
  • Control + l,清空当前屏幕上的内容(会保留已输入的指令内容)

熟练掌握这些快捷键之后,您编辑命令行指令的速度也会得到质的提升~

 

高效的指令

 

history 指令

通常我们会输入大量的命令行指令,如果每次都通过方向键来选择之前的指令,未免太过低效。

history 指令可以很好地帮我们解决这个问题,请看下图:

执行了 history 指令后,命令行会打印出之前执行过的指令。

如果只想显示最后的几条指令,可以执行 history -x,其中 x 是指令的条数。具体的执行效果,如下图所示:

然而,这样依然不够高效呢。还有更高效地方式吗?

有的,有的,确实有的,看官请别急~

 

! 指令

我们可以通过 ! + 指令在history结果中的编号,快速键入执行过的指令。如图所示,请注意观察 !5567

实际上,!5567 就等于 man git
直接执行 !5567,命令行就会自动键入 man git
直接执行 sudo !5567,命令行就会自动键入 sudo man git,此时 !5567man git 替换。

此时,由于 5567 是最后一条指令,我们还可以通过执行 !! 来执行这最后一条执行。

不过,!! 最常见的用法是在忘记给指令加 sudo 的时候:sudo !! 可以让我们快速地为最后一次执行的指令加上 sudo

 

除此之外,我们还可以通过 ! + 命令前缀 的方式,找到最后一条匹配的指令。比如,执行 !c 指令之后,命令行自动键入了 cd . 指令:

 

Control + R 快捷键

使用 Control + R 快捷键,可以帮助我们更迅速地在指令执行历史中 查找包含已输入字符 的指令。如图所示:

在已执行的命令中,有 find / -iname ".bash_history" 这个指令。

当按下 Control + R 快捷键并输入 name 之后,命令行匹配到了 find / -iname ".bash_history" 这个指令。
此时,如果按下 Enter 键,命令行就会立刻执行这个匹配到的指令。

当您想要在一堆执行历史中查找某个指令时,Control + R 快捷键会非常高效!

如果您对于相关的内容非常感兴趣,可以参考:

 

高效的工具

 

Oh My ZSH

这是一个强大的命令行插件工具,安装了之后就可以给命令行配置很多实用的插件。

 

Ficow 比较中意这两个实用的插件,强烈推荐给您:

 

还未安装 Oh My ZSH?现在就去 官方网站 下载吧~

 

iTerm2

iTerm2 是一款非常强大的终端软件,比 macOS 自带的终端软件实在强太多!

最最强大的就是它的自动补全功能,看官您自己看吧:

只需要按下 Command + ; 组合键,iTerm2 就会自动弹出自动补全列表,按下 Enter 键即可将第一条记录输入到命令行中。

这样操作,可比 Control + R 直观而且高效得多呢~

还未安装 iTerm2?现在就去 官方网站 下载吧~

 

autojump

在众多的命令行指令中,cd 是一个超级高频的指令。

然而,cd 之后需要输入的路径经常让人头疼。有时候这个路径还很长,或者有时候某个路径需要反复输入。

如果您也有同样的困扰,那么 autojump 可以解救您!autojump 可以帮您记住您在 cd 中键入的路径,并且允许您配置这些路径的权重以避免路径冲突。

如图所示是 autojump 的帮助内容,autojump 的功能很简单但是它很强大:

autojump 的执行命令是 j,执行的操作非常高效。比如,执行 j -s 就会看到统计数据:

 

这里 Ficow 以 /Users/ficow/Desktop 路径为例,讲解使用 autojump 的大致操作步骤:

  1. 执行指令 j -a /Users/ficow/Desktop 保存 /Users/ficow/Desktop 这个路径到 autojump 的数据库中;
  2. 执行指令 cd /Users/ficow/Desktop 切换到该工作路径;
  3. 执行指令 j -d 100,将该路径的权重值改为 100(举例用的参考值,这个值由您自己确定);
  4. 执行指令 j -s 查看该路径是否成功保存、权重值是否正确;
  5. 打开一个新的终端或者切换到其他工作路径,然后执行 j desk,检查当前工作路径是否为 /Users/ficow/Desktop

实际的操作效果,如下图所示:

所以,在您配置好 autojump 之后,最高频的操作将是 j a_valid_path

如果之后保存的路径也包含 desktop,你可能需要调整 /Users/ficow/Desktop 的权重值,以实现 j desk 优先匹配 /Users/ficow/Desktop 这个路径的目的。

 

还未安装 autojump?现在就去 Github 下载吧~

 

总结

 

工具存在的意义就是帮助人类 解决问题提高效率。作为程序员的我们,对于效率的追求更是永无止境的。

在命令行的世界里,您是否还想进一步提高自己的效率呢?Ficow 还会继续讲解相关的内容,敬请期待!

如果您有相关的问题或者经验想要与 Ficow 交流,欢迎您给 Ficow 留言~

 

参考内容:

 

觉得不错?点个赞呗~

本文链接:命令行操作,从0到1 —— 提高操作效率

转载声明:本站文章如无特别说明,皆为原创。转载请注明:Ficow Shen's Blog

评论区(期待你的留言)