命令行工具
adsb_deku: Rust 实现的终端雷达应用
基于 tui-rs,实现在终端即可解码 ADS-B 来监视飞越你家的飞机
ADS-B : 广播式自动相关监视
“ADS-B 是一种空中交通监视应用,用于传递飞行参数,比如,位置,航迹和 地速等,通过数据链广播模式,在特定的间隔时间内发送,任何空地用户 都可以申请使用这个功能。” (ICAO国际民航组织)
- ADS-B RAD : 广播式自动相关监视 可用于雷达覆盖空域
- ADS-B NRA : 广播式自动相关监视 可用于无雷达覆盖空域
- ADS-B APP : 广播式自动相关监视 可用于机场地面活动区交通监视
https://github.com/rsadsb/adsb_deku
cargo-mobile: 帮助你在 iOS 和 Andriod 上方便地使用 Rust
这个工具是对 “如何在 iOS 和 Andriod 上使用 Rust ?” 问题的回应。
cargo-mobile 是一个与框架无关的工具,可以生成 Xcode 和 Android Studio 项目文件、在设备上构建和运行、生成项目样板文件以及其他一些事情!目前支持 macOS 和 Linux 。
该工具在 BrainiumLLC 公司内部已经使用了,可以看其公司博客介绍。注意,这篇文章是两年前的了,但是工具是刚开源,文章还未来得及更新。
cargo install --git https://github.com/BrainiumLLC/cargo-mobile
https://github.com/BrainiumLLC/cargo-mobile
argc: 一种处理 sh/bash
命令参数的便捷方式
# demo.sh
# @describe A demo cli
# @cmd Upload a file
# @arg target! File to upload
upload() {
echo "cmd upload"
echo "arg: target $argc_target"
}
# @cmd Download a file
# @flag -f --force Override existed file
# @option -t --tries <NUMBER> Set number of retries to NUMBER
# @arg source! Url to download from
# @arg target Svae file to
download() {
echo "cmd: download"
echo "flag: --force $argc_force"
echo "option: --tries $argc_tries"
echo "arg: source $argc_source"
echo "arg: target $argc_target"
}
eval "$(argc -e $0 "$@")"
用 Argc 编写命令行程序,只需要做两件事:
- 在注释中描述选项、参数和子命令
- 调用
eval
命令委托Argc为我们处理命令行参数
Argc 根据标签(@
注释中标记的字段)生成解析规则和帮助文档。
https://github.com/sigoden/argc
Pijul 1.0 beta 发布
Pijul 是一个免费的开源 (GPL2)分布式版本控制系统。
经过了 53 个alpha版本的Pijul 1.0 beta终于发布了
获取系统信息的命令行工具汇总
neofetch是一个用bash 3.2+
编写的命令行系统信息工具;
以下是一些使用Rust编写的命令行工具的替代品:
- ferris-fetch - A system information tool for Rustaceans.
- freshfetch - A fresh take on neofetch.
- fsi - FSI (Fetch System Info) cli tool written in Rust.
- macchina - A system information fetcher, with an emphasis on performance and minimalism.
- onefetch - Git repository summary on your terminal.
- rfetch - A fast and minimal fetch program.
- rsfetch - A WIP rewrite of rsfetch from scratch.
- scrftch - Screenfetch in Rust.
Puff——一个基于Rust的CLI工具,用于将应用程序的配置存储在一个公共位置,以便轻松传输到另一台机器
Puff是一个CLI工具,用于管理正在开发的应用程序的配置文件。通常,这些配置与项目的源代码一起使用。由于它们可能包含的密码/密钥,它们通常被排除在版本控制系统之外。Puff管理这些文件并将它们存储在一个公共位置,从而更容易将它们传输到另一台开发机器。你的应用程序通过Puff创建的符号链接访问配置文件。
jless:命令行 JSON 查看器
JLess 是一个命令行 JSON 查看器,专为阅读、探索和搜索 JSON 数据设计。
- 美化输出 JSON 并附加语法高亮。适合在探索外部 API 或调试请求有效载荷时使用。
- 展开/折叠对象和数组,有助于掌握 JSON 文档的高级/低级结构。得益于大量受 Vim 启发的命令,探索数据变得轻而易举。
- 支持基于表达式的全文搜索。能够在长字符串值中快速查找数据,或者在相同对象键之间跳转。
https://github.com/PaulJuliusMartinez/jless
zellij - tmux 的 Rust 实现版本
Zellij是一个面向开发人员、面向运维的人员和任何喜欢终端的人的工作区。它的核心是一个终端多路复用器(类似于tmux和screen),但这仅仅是它的基础设施层。
Zellij 包括一个布局系统和一个插件系统,允许人们以任何可以编译为 WebAssembly 的语言创建插件。
https://github.com/zellij-org/zellij
Zee - Rust编写的终端编辑器
Zee 是一个现代的终端编辑器,由 Rust 编写。
https://github.com/zee-editor/zee
Fig.io 使用 Rust 重写其 CLI
Fig 为现有终端添加 IDE 风格的自动补全。
此前,Fig 是一个捆绑了 CLI 的桌面 App 。而现在,Fig 用 Rust + Clap 进行了重现,变成一个可以添加到桌面 App 中的 CLI 工具。这意味着:
跨平台体验,支持 Linux 和 Windows,更好的性能 在远程计算机上运行 发布酷炫的新产品 同时,Fig 也为 Rustacean 提供 System Engineer 职位。
xshell: 0.2 版本发布
xshell提供了一套跨平台实用工具,用于编写跨平台和符合人体工程学的 bash 脚本。
https://github.com/matklad/xshell