在 命令行操作,从0到1 —— 基础知识 一文中,您已经学会了一些最基本的命令行知识。
程序员是一个比较注重效率的群体,所以 Ficow 希望通过本文来帮助您提高命令行操作的效率。
请注意,后文中的所有命令行操作和工具,在 macOS Big Sur 操作系统中都可以正常运行。
如果您发现您的系统无法正常执行某个命令,可能是因为缺少某些依赖。如果需要的话,您可以尝试去安装。
如果您使用的不是 macOS 系统,那么 Control
键对应的是 Ctrl
键,Option
键对应的是 Alt
键。
如有其他问题,欢迎您给 Ficow 留言,我会尽快回复~
在所有通过键盘来操作命令行的按键中,上下箭头键
一定是非常高频的操作。
命令行软件会保留您执行过的命令行指令,您只需要在命令行终端里按下 上
键,即可看到上一次执行的指令。
当我在 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 -x
,其中 x
是指令的条数。具体的执行效果,如下图所示:
然而,这样依然不够高效呢。还有更高效地方式吗?
有的,有的,确实有的,看官请别急~
我们可以通过 ! + 指令在history结果中的编号
,快速键入执行过的指令。如图所示,请注意观察 !5567
:
实际上,!5567
就等于 man git
。
直接执行 !5567
,命令行就会自动键入 man git
。
直接执行 sudo !5567
,命令行就会自动键入 sudo man git
,此时 !5567
被 man git
替换。
此时,由于 5567 是最后一条指令,我们还可以通过执行 !!
来执行这最后一条执行。
不过,!!
最常见的用法是在忘记给指令加 sudo
的时候:sudo !!
可以让我们快速地为最后一次执行的指令加上 sudo
。
除此之外,我们还可以通过 ! + 命令前缀
的方式,找到最后一条匹配的指令。比如,执行 !c
指令之后,命令行自动键入了 cd .
指令:
使用 Control + R
快捷键,可以帮助我们更迅速地在指令执行历史中 查找包含已输入字符
的指令。如图所示:
在已执行的命令中,有 find / -iname ".bash_history"
这个指令。
当按下 Control + R
快捷键并输入 name
之后,命令行匹配到了 find / -iname ".bash_history"
这个指令。
此时,如果按下 Enter
键,命令行就会立刻执行这个匹配到的指令。
当您想要在一堆执行历史中查找某个指令时,Control + R
快捷键会非常高效!
如果您对于相关的内容非常感兴趣,可以参考:
这是一个强大的命令行插件工具,安装了之后就可以给命令行配置很多实用的插件。
Ficow 比较中意这两个实用的插件,强烈推荐给您:
还未安装 Oh My ZSH
?现在就去 官方网站 下载吧~
iTerm2 是一款非常强大的终端软件,比 macOS 自带的终端软件实在强太多!
最最强大的就是它的自动补全功能,看官您自己看吧:
只需要按下 Command
+ ;
组合键,iTerm2 就会自动弹出自动补全列表,按下 Enter
键即可将第一条记录输入到命令行中。
这样操作,可比 Control
+ R
直观而且高效得多呢~
还未安装 iTerm2
?现在就去 官方网站 下载吧~
在众多的命令行指令中,cd
是一个超级高频的指令。
然而,cd
之后需要输入的路径经常让人头疼。有时候这个路径还很长,或者有时候某个路径需要反复输入。
如果您也有同样的困扰,那么 autojump
可以解救您!autojump
可以帮您记住您在 cd
中键入的路径,并且允许您配置这些路径的权重以避免路径冲突。
如图所示是 autojump
的帮助内容,autojump
的功能很简单但是它很强大:
autojump
的执行命令是 j
,执行的操作非常高效。比如,执行 j -s
就会看到统计数据:
这里 Ficow 以 /Users/ficow/Desktop
路径为例,讲解使用 autojump
的大致操作步骤:
j -a /Users/ficow/Desktop
保存 /Users/ficow/Desktop
这个路径到 autojump
的数据库中;cd /Users/ficow/Desktop
切换到该工作路径;j -d 100
,将该路径的权重值改为 100
(举例用的参考值,这个值由您自己确定);j -s
查看该路径是否成功保存、权重值是否正确;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