原文: 5 Linux Utilities to Improve Your Programming Workflow in 2022
对软件开发人员来说,总是有新的工具和框架出现,可以完全改变你的工作流程——为了更好(或更糟?)
无论怎样,总是有可能优化你日常工作的方式。
这篇文章包含了一些 Linux 工具,这些工具最近取代了我过度使用和生产力不足的日常编程工作流程。
你将了解到这些实用程序,以及它们是如何更好地替代同类产品的。
让我们开始吧。
如何使用 Mcfly
你是否无情地按终端上的输入上箭头键
,直到得到你之前运行的命令?我也有过这样的经历。我不知道我可以优化这个,所以我在相当长的一段时间里虔诚地使用它。
然后我了解到 ctrl + r
。它允许你搜索你的命令历史,并且有通配符搜索。哇!!!
结果呢?我的手指敲击练习从第一天开始就结束了。我再次认为,对于这样一个小工具来说,这一定是用户体验的峰值。我大错特错了。
所以呢?嗯,有一个更好的ctrl-r
给你。介绍一下 Mcfly 🦋。
除了常规的ctrl+r
功能外,它还有一些额外的优点:
- 这些建议是使用神经网络定制的,该网络考虑了你当前的工作目录和最近执行的命令。
- 它跟踪命令的退出状态(你可能不想再次运行一个失败的命令)、时间戳和其他有用的信息。
- 你可以使用
%
作为通配符来匹配多个字符。
以下是我在两个不同的仓库中得到的建议,基于我的 shell
输入历史:


你可以从这里 安装 Mcfly。
如何使用 Cheat.sh
谁喜欢看 man
信息?我不喜欢。当我在纠结一个命令的时候,我最不想看的就是手册页。不是因为它没有帮助,而是因为它让人不知所措。
我经常只是需要简明的例子,可以快速上手。当我发现 TLDR pages 时,我是最高兴的人。现在有了 Cheat(表),我就更高兴了。
Cheat 让你可以访问 cheatsheets,这可能是你所需要的每个命令,只有例子,没有百科全书。
如果你不想安装这个工具,你可以像这样用 CURL 获得手册:
curl cheat.sh/uptime
获取 sed 的手册
因此,你不是在你的机器上安装手册,而是只为你需要的命令获取信息。你可以访问 cheat.sh,也可以在你的浏览器上使用它
以下是上述命令的输出情况:

你会在 codebase 中找到很多的例子。
如何使用 Git Open
我经常需要在浏览器中打开我正在做的项目的 GitHub 仓库。这可能是为了检查我提出的 Pull Request 的评论更新,改变仓库的设置,或者任何需要 GitHub 仓库页面的事情。
好吧,我们甚至有一个实用的工具来解决这个问题!
运行 git open
会在你的浏览器上打开你当前的工作仓库。默认情况下,它打开的是你所在分支的远程页面。你甚至可以为这些命令创建一个别名,以避免输入全部内容。
这里有一些别名设置供你参考(译者注:golang 开发者要改成别的):
alias go="git open"
alias blog="git open https://github.com/<username>/blog <branch>"
使用 zsh 别名打开远程 GitHub 资源库
在 GitHub 上查看 Git Open 这里。
如何使用 Bat
我们都使用过cat
,对吗?Bat 就是这样,但它有语法高亮,漂亮的格式化和风格化选项,并支持 git diff。它非常通用,很容易与其他工具集成,并提供自定义主题选项。
让我们来看看。这是我们使用 cat
的 Express 服务器文件:

上面的输出没有语法高亮,降低了代码的可读性。让我们用bat
做同样的事情:

这显然更具可读性。它自动应用了适当的语法高亮(无需任何配置),提供了文件名和行号。
请随意开始使用它这里。
如何使用 Jq
Jq 是一个 JSON 的命令行处理工具。你可以对你的 JSON 进行切片和切块,进行投影以只显示某些字段,并从(巨大的)JSON 中只提取所需的信息。不再有满屏的终端输出了。
[
{"value": 1, "rating": 2 },
{"value": 2, "rating": 4 },
{"value": 3, "rating": 5 }
]
输入数组样本
从一个数组中访问一个键看起来像这样:
jq '.[0] | { value }'
我们要求的是数组中的第一个元素,并且只获取 value
字段:
{
"value": 1
}
要了解更多,请前往他们的 官方教程。
他们也有一个方便的在线网站。我已经在这里创建了一个片段。你可以自由地调整它,玩一玩。
你甚至可以用 jid 更进一步。它是一个利用 Jq 的交互式 JSON 提取器。它为你提供非常方便的建议和自动完成功能。
总结
这些都是一些扩大我视野的实用工具,使我认识到总有更好的方法来做事情。你只需要不断上网搜索。从 如何做 X(how to do X)
和 X 的更好替代品(better alternatives to X)
开始。
在我的日常编程工作流程中,我经常使用这些实用工具。我希望其中至少有一个会对你有用。
我很想知道哪些工具对你的日常工作流程至关重要,你是否使用本文中提到的任何工具?
喜欢这篇文章吗?获得关于后端网络开发的资料 💌。