我们这些开发者花了很多时间在终端上。或许我们应该花更多时间,因为有很多很棒的命令行接口/文本用户界面工具可以极大提高开发效率,或者仅仅是因为它们使用起来很有趣。
这篇文章列出了我常用的命令行界面(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 处理程序,类似于处理文本数据的
sed
、awk
和grep
等工具,但专门用于 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 算法,提供了一种将远程文件快速同步的方法。它通过仅发送文件之间的差异来实现这一点,而无需事先在链接的任一端同时存在两套文件。乍一看,这似乎是不可能实现的,因为计算两个文件之间的差异通常需要两个文件在同一位置。
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,我们无法一一列出它们(尽管我们已经尽力尝试了)。
共同学习,写下你的评论
评论加载中...
作者其他优质文章