写点什么

22 款终端生产力工具,效率飞起!

作者:Java高工P7
  • 2021 年 11 月 10 日
  • 本文字数:3056 字

    阅读完需:约 10 分钟


上图为 grep(左)与 rg(右)命令执行时的对比。


与上述 fd 指令类似,ripgrep 是 grep 命令的替代方法, 不过 ripgrep 的执行速度更快,而且具有健全的默认配置以及丰富的彩色输出。


下载地址:https://github.com/BurntSushi/ripgrep

7、htop 和 glances

在 Linux 或 Mac 上显示进程运行状态信息最常用工具是我们熟悉的 top,它是每位系统管理员的好帮手。



htop 工具是 top 工具的绝佳替代品。


top 工具是非常基础的监控工具,提供的功能有限,因此很多人转去使用 htop。htop 比起 top,优势很明显——除了功能更加完善以外,它的色彩搭配也很丰富,整体上使用起来更加友好。



借助 glances,还可以让你一目了然地快速了解系统当前状态。


glances 是 htop 的补充工具。除了列出所有进程及其 CPU 和内存使用情况之外,它还可以显示有关系统的其他信息,比如:


  • 网络及磁盘使用情况

  • 文件系统已使用的空间和总空间

  • 来自不同传感器(例如电池)的数据

  • 以及最近消耗过多资源的进程列表


htop 下载地址:https://hisham.hm/htop/


glances 下载地址:https://nicolargo.github.io/glances/

8、virtualenv 和 virtualfish

Virtualenv 是用于在 Python 中创建虚拟环境的工具。



VirtualFish 则是 Fish Shell 的虚拟环境管理器。它提供了许多命令来执行快速创建、列出或删除虚拟环境等操作。


virtualenv 下载地址:https://pypi.org/project/virtualenv/


virtualfish 下载地址:https://github.com/justinmayer/virtualfish

9、pyenv、nodenv 和 rbenv

pyenv 可以轻松实现 Python 版本的切换。



Pyenv、nodenv 和 rubyenv 是用于管理计算机上不同版本的 Python、Node 和 Ruby 的工具。


假设你要在计算机上安装两个版本的 Python。比如,你正在从事两个不同的 Python 项目,或者因为特殊情况仍然需要使用 Python2。不同 Python 版本在电脑上管理很复杂。你需要确保不同的项目具有正确版本的软件依赖包。如果不小心,很容易弄乱这种脆弱的配置。


该工具为版本管理提供了很多帮助,并将这一噩梦变得易于管理。它可以全局或“按文件夹”切换 Python 版本,而且每个版本都是相互隔离的。


pyenv 下载地址:https://github.com/pyenv/pyenv


nodenv 下载地址:https://github.com/nodenv/nodenv


rbenv 下载地址:https://github.com/rbenv/rbenv

10、pipx

Virtualenv 解决了 Python 程序包管理中的许多问题,但是还有一个方案可以解决。如果我想在全局环境下安装 Python 软件包(比如它是一个独立的工具,正如前面提到的 glances 工具),那么我会遇到全局安装带来的问题。在虚拟环境之外安装软件包不是一个好主意,将来可能会导致意想不到的问题。另一方面,如果我决定使用虚拟环境,那么每次我要运行程序时都需要激活该虚拟环境。这也不是最方便的解决方案。



事实证明,pipx 工具可以解决上面提到的问题。它将 Python 软件依赖包安装到单独的环境中(因此不会存在依赖项冲突的问题)。与此同时,这些工具提供的 CLI 命令在全局环境内也可用。因此,我无需激活任何环境——pipx 会帮我完成这个操作!


pipx 下载地址:https://github.com/pipxproject/pipx

11、ctop 和 lazydocker


ctop 的实时监控示例


当你使用 Docker 并对其监控时,这两个工具会很有帮助。ctop 是 Docker 容器的顶级接口。它可以为你:


  • 展示正在运行和已停止的容器列表。

  • 展示统计信息,例如内存、CPU 使用率以及针对每个容器的其他详细信息窗口(例如绑定的端口等其他信息)。

  • 提供快捷菜单,方便快速停止、杀掉指定容器进程或显示给定容器的日志。


这比你尝试从 docker ps 命令中找出所有这些信息要方便多了。



lazydocker 也是一个非常好用的?Docker 工具


lazydocker 它是一个非常成熟的拥有终端 UI 界面的工具,提供了非常丰富的功能用于管理 Docker。


ctop 下载地址:https://github.com/bcicen/ctop


lazydocker 下载地址:https://github.com/jesseduffield/lazydocker

12、Homebrew


如果使用的是 Mac,那就无需再多介绍 Homebrew 了。它是 macOS 上被业界普遍认可的软件包管理器。


下载地址:https://brew.sh/

13、asciinema


asciinema 是可用于记录终端会话的工具。但是,与录制 GIF 不同,它可以让用户选择并复制这些录制中的代码!这对于录制编码教程来说十分好用。asciinema 录制的内容,支持直接复制,十分给力。


下载地址:https://asciinema.org/

14、colordiff 和 diff-so-fancy


如果想在终端中使用 diff 操作(比较两个文件之间的差异),可以放弃使用 diff 命令,而是使用 colordiff。colordiff 输出可以高亮显示,因此在查看文件差异内容时要方便得多,而不是在 diff 命令输出内容下,费力地查看所有的“ <”和“>”符号来对比文件差异。


如果你觉得还不够,那么推荐 diff-so-fancy。它是比 colordiff 更友好的一个差异对比工具。



它通过以下方式进一步改善了文件内容差异展示的外观:


  • 突出显示每一行中差异的单词,而不是整行

  • 简化变更文件的标题

  • 去除 + 和 - 符号(颜色差异展示就够了)

  • 清楚地指出新行和删除的空行


colordiff 下载地址:https://www.colordiff.org/


diff-so-fancy 下载地址:https://github.com/so-fancy/diff-so-fancy

15、tree

可以通过 brew install tree 安装该工具。如果要查看给定目录的内容,那么 tree 是执行此操作的必备工具。它能以漂亮的树状结构显示所有子目录及文件:


$?tree?.??


.??


├──?recovery.md??


├──?README.md??


├──?archive??


├──?automator??


│???├──?Open?Iterm2.workflow??


│???│???└──?Contents??


│???│???????├──?Info.plist??


│???│???????├──?QuickLook??


│???│???????│???└──?Thumbnail.png??


│???│???????└──?document.wflow??


│???└──?Start?Screen?Saver.workflow??


├──?brew-cask.sh??

16、bat



【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


似于在终端中常用的用于显示文件内容的 cat 命令,但是 bat 效果更佳。


它增加了语法高亮显示,git gutter 标记(如果适用),自动分页(如果文件很大)等功能,并且使得输出的内容阅读起来更加友好。


bat 下载地址:https://github.com/sharkdp/bat

17、httpie


如果你需要发送一些 HTTP 请求,但发现使用 curl 不够直观,那么可以尝试一下 httpie。这是一款非常好用的 curl 替代工具。合理的默认配置以及简洁的语法使它更易于使用,命令返回也是彩色输出。


httpie 下载地址:https://httpie.org/

18、tldr

简化版的命令帮助手册。



“man pages”展示的信息太全面了,但是很多时候使用 tldr 可以更快地帮你找到特定信息,这才是用户真正想要的。


tldr 下载地址:https://tldr.sh/

19、exa


exa 是 ls 命令的一个可替代方案。


它色彩艳丽,还可以显示 git 状态等其他信息,自动将文件大小转换为方便人们阅读的单位,并且所有这些都保持与 ls 几乎相同的执行速度。


exa 下载地址:https://the.exa.website/

20、litecli 和 pgcli


这是 SQLite 和 PostgreSQL CLI 的解决方案。借助自动提示和语法突出显示,它们比默认的 sqlite3 和 psql 工具要好用很多。


litecli 下载地址:https://litecli.com/


pgcli 下载地址:https://www.pgcli.com/

21、mas


mas 是一个用于从 App Store 安装软件的 CLI 工具。


mas 下载地址:https://github.com/mas-cli/mas

22、ncdu


这是在终端进行磁盘分析时使用的工具,它使用起来简单快捷。当需要释放一些硬盘空间时,可以使用这款工具。


ncdu 下载地址:https://dev.yorhel.nl/ncdu

总结

以上推荐工具清单很长,小伙伴们有什么好用的也可以安利出来,一起交流进步。


推荐文章


用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
22款终端生产力工具,效率飞起!