为了账号安全,请及时绑定邮箱和手机立即绑定

开发者必备的命令行和文本界面工具集锦

点击阅读原文

我们这些开发者花了很多时间在终端上。或许我们应该花更多时间,因为有很多很棒的命令行接口/文本用户界面工具可以极大提高开发效率,或者仅仅是因为它们使用起来很有趣。

这篇文章列出了我常用的命令行界面(CLI)/文本界面(TUI),以及在开发圈中广为使用的界面。

Kubernetes (K8s)

k9s — 一个以风格管理 Kubernetes 集群的命令行工具.

K9s 提供了一个终端界面,以便与您的 Kubernetes 集群进行交互。该项目的目的是使在生产环境中导航、观察和管理应用程序变得更加容易。K9s 持续监视 Kubernetes 中的变化,并提供后续命令来与观察到的资源进行交互。

ktop — 一个类似 top 的工具,用于你的 Kubernetes 集群的。

_> 遵循 Unix/Linux 中 top 工具的传统,ktop 是一个用于显示 Kubernetes 集群中节点、Pod 以及其他工作负载资源的有用指标信息的工具。

kubectx — 更快地在不同集群间切换上下文。

kubectx 是一个用于更快速地切换 kubectl 的上下文(集群)的工具。

kubens 是一个方便在不同的 Kubernetes 命名空间之间切换(并为 kubectl 设置它们)的工具。

kdash — 一个简单快速的 Kubernetes 控制台。

一个用 Rust 编写的 Kubernetes 简单控制台仪表盘

kubescape — 这是一个为您的 IDE、CI/CD 管道和集群提供的 Kubernetes 安全解决方案。

Kubescape 是一个开源的 Kubernetes 安全解决方案,提供从开发到部署整个生命周期的安全保障。它提供了强化、态势监控以及运行时防护功能,确保 Kubernetes 环境的安全性。它帮助 Kubernetes 用户和管理员节省宝贵的时间、精力和资源,让他们更加专注于业务。

容器部分

ctop — 一个类似 top 的容器监控界面来监控容器性能。

ctop 提供了多个容器实时性能指标的简明概览。

ctop 内置支持 Docker 和 runC;未来版本将添加与其他容器及集群系统的连接器。

lazydocker — 一个简单的终端界面,用于 Docker 和 docker-compose。

记住 Docker 命令很难。记住别名稍微简单一些。在多个终端窗口中追踪容器几乎是不可能完成的任务。如果你在一个终端窗口中就能轻松获取所有需要的信息,每个常用命令只需一按即可调出(并且还可以添加自定义命令,实现更多功能)。Lazydocker 的目标就是让你的梦想成真。

dive — 一个用于查看 Docker 镜像每一层的工具。

一个用来查看Docker镜像和层中的内容,找出减小镜像大小的方法的工具。

文件/文本内容

jq — 命令行 JSON 处理器。

jq 是一个轻量级且灵活的命令行 JSON 处理程序,类似于处理文本数据的 sedawkgrep 等工具,但专门用于 JSON 数据。它用 C 语言编写,没有任何运行时依赖,可以轻松地对结构化数据进行切片、过滤、映射和转换。

bat — 一个长了翅膀的 cat 复刻版。

bat 是一个增强版的 cat 命令,用 Rust 语言编写,集成了语法高亮功能、Git 集成和自动分页。

其语法高亮支持多种编程和标记语言,使代码在终端中更易读,支持多种编程和标记语言。Git 集成使得用户可以直接查看相对于索引的修改,突出显示添加或修改的行。

ripgrep — 在目录中递归搜索正则表达式模式,并忽略 .gitignore 文件中指定的内容。

rg 是一个行导向的搜索工具,递归地在当前目录中搜索符合正则表达式的行。默认情况下,rg 会遵循 .gitignore 文件中的规则,并自动跳过隐藏文件或目录和二进制文件。(若要默认禁用所有自动过滤,请使用命令 rg -uuu。)rg 在 Windows、macOS 和 Linux 上都有很好的支持,并且每个版本都提供了可下载的二进制文件。rg 与流行的搜索工具如 The Silver Searcher、ack 和 grep 类似,具备类似的功能。

rsync — 一个快速且极其多功能的文件复制程序,适用于远程和本地文件传输。

Rsync 使用一种 delta-transfer 算法,提供了一种将远程文件快速同步的方法。它通过仅发送文件之间的差异来实现这一点,而无需事先在链接的任一端同时存在两套文件。乍一看,这似乎是不可能实现的,因为计算两个文件之间的差异通常需要两个文件在同一位置。

Git(版本控制系统)

lazygit — 一个简单的终端界面,用于执行 Git 命令。

> Lazygit 是一个用于 git 命令的简洁易用的终端用户界面,大多数操作都有快捷键。它让从终端使用 git 更加轻松直观。

gitui — 用 Rust 编写的闪电般快速的 Git 终端界面工具。

> GitUI 提供了图形界面般的用户体验和舒适度,直接在你的终端中运行,小巧、快速、免费且开源。

发展

ATAC — 一个简单的终端API测试工具,类似于Postman。:

ATAC 可谓是一个终端 API 客户端。它基于例如 Postman、Insomnia 甚至是 Bruno 这样的知名客户端,但在你的终端中直接运行,无需特定的图形界面。

vegeta — 一个用于HTTP负载测试的工具和库。

Vegeta 是一个用于 HTTP 负载测试的多功能工具,为满足以恒定请求速率测试 HTTP 服务的需求而构建。

k6 — 一个现代的负载测试工具,使用 Go 语言和 JavaScript。

k6 是一款现代的负载测试工具,它基于我们多年在性能和测试行业的经验。它被设计成强大、灵活且功能丰富。其主要设计目标是提供最佳的开发者体验。

httpie — 用户友好的命令行 HTTP 客户端,为 API 时代而设计。

HTTPie(发音为“aiti-taipai”)是一个命令行HTTP客户端。它的目标是让命令行与网络服务的交互更加人性化。HTTPie 旨在用于测试、调试和与API及HTTP服务器的一般交互。http 和 https 命令允许创建并发送任意的HTTP请求。它们采用了简单易懂且自然的语法,并提供格式化并带有颜色的输出。

asciinema,终端会话记录器,用于录制和回放终端会话。

_> asciinema(也称为 asciinema CLI 或 asciinema 录屏器)是一个用于录制终端会话的命令行工具。

_> 与通常的屏幕录制软件不同,后者将屏幕的视觉内容记录成体积大的视频文件(如 .mp4、.mov),asciinema 录屏器在终端内部运行,捕捉成轻量级的 asciicast 文件(.cast)。

网络

dog — 一个用于命令行的 DNS 工具。

_> “狗”是一个命令行 DNS 客户端,类似于 dig。它支持彩色输出,理解标准命令行参数语法,支持 DNS-over-TLS 和 DNS-over-HTTPS, 并能输出 JSON 格式的数据。

gping,带图形的 Ping 工具。

gping是一款非常适合网络、系统和DevOps工程师们使用的工具,也适合任何希望可视化ping输出的人。它在需要读取性和直观展示ping结果的环境中最为适用。

工作台

tmux — 一个终端多路复用工具。

tmux 是一个终端多路复用器。它允许在单个窗口中创建、访问和控制多个终端。

tmux 可以与会话分离并在后台继续运行,并且可以稍后重新连接。

zellij — 一个自带所有功能的终端工作区。

Zellij 是一个面向开发人员、运维人员以及任何喜欢终端的人的工作空间。这样的程序有时也被称为“终端复用器”。

Zellij 的设计理念是强大的功能不应以牺牲简洁性为代价,它以其开箱即用的优质体验和强大的用户功能而自豪。

btop: 资源监控器。

> 资源监控器,展示CPU、内存、磁盘、网络和进程的使用情况和数据。

chezmoi — 在多台不同机器上管理你的点文件,安全地。

chezmoi 帮助你在多台机器上管理个人配置文件(例如 ~/.gitconfig 这样的点文件)。

chezmoi 还提供了许多功能,不仅仅提供符号链接或使用裸 Git 仓库的功能。

运行以下命令:  
chezmoi init  # 初始化chezmoi配置  
chezmoi add ~/.bashrc  # 将.bashrc文件添加到chezmoi管理  
chezmoi edit ~/.bashrc  # 编辑chezmoi管理下的.bashrc文件  
chezmoi diff  # 查看chezmoi管理的文件与实际文件之间的差异  
chezmoi -v apply  # 应用变更并显示详细信息
最后

这些CLI/TUI在任何现代终端上都能很好地运行,我个人现在用Ghostty,表现得很好。

这里有大量的CLI/TUI,我们无法一一列出它们(尽管我们已经尽力尝试了)。

点击阅读原文

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消