Rust 实现的命令行工具推荐

Rust 实现的命令行工具

随着 Rust 生态越来越繁盛,使用 Rust 实现的小工具越来越多,下面推荐4个我试用后觉得不错的工具

starship

starship 是一个类似于 oh-my-zsh 的美化工具,而且它还支持 bash 和 fish。

starship1.gif

它的特性很多,但我最喜欢的是可定制化且信息丰富的 Git 分支和工作区信息,当前工作区项目版本信息和后台任务提示。
想了解更多特性可以参考文档

它的安装和配置也非常简单。

首先需要安装一款 Powerline 字体,用过 oh-my-zsh 的应该都安装了,如果没有,可以试试 Fira Code

接着安装 starship。在 Mac 上可以使用 Homebrew

brew install starship

如果机器上安装了 Rust 1.33+ 也可以通过 cargo install 安装。

# 需要 pkg-config 和 libssl-dev
sudo apt install -y pkg-config libssl-dev

cargo install starship

也可以直接下载编译好的文件

curl -L https://github.com/starship/starship/releases/download/v0.13.1/starship-v0.13.1-x86_64-unknown-linux-gnu.tar.gz -o /tmp/starship.tar.gz

cd /tmp && tar zxvf /tmp/starship.tar.gz

mv x86_64-unknown-linux-gnu/starship /usr/local/bin/starship

接着在 .zshrc 添加如下内容

eval $(starship init zsh)

starship 的配置文件默认为 ~/.config/starship.toml,我的示例配置文件如下:

add_newline = false

[package]
disabled = true

[character]
symbol = "➜"
error_symbol = "✗"
use_symbol_for_status = true

[git_branch]
symbol = "? "

[golang]
symbol = "G "

[line_break]
disabled = true

[python]
pyenv_version_name = false
pyenv_prefix = "foo "

[rust]
symbol = "⚙️ "

完整配置项解读参考 starship configuration

bat

bat 是 cat 命令的替代品,虽然是 cat 这样简单命令的替换,但 bat 在 Github 项目上的 star 已经 15,009 了,可见大家对 bat 的喜爱。

相比于 cat, bat 添加了语法高亮和 Git 集成等诸多特性。而且也有详细的中文文档
如何安装和使用我就不再赘述,仅放一张 gif 作为参考。

bat.gif

ffsend

火狐公司推出了一项免费的阅后即焚加密文件共享服务 firefox send,你可以上传文件,设置文件保存时间和可被下载次数,然后将文件下载
链接分享给别人以分享文件。最大上传2.5G大小的文件,在分享小文件但又不想被百度云限速时很有用。

ffsend 是使用 firefox send 服务的命令行工具。通过它可以在命令行中完成文件上传和下载。

目前 ffsend 还在 alpha 阶段,下载方式有限,最简单的方式就是

cargo install ffsend

其他安装方式可以参考 ffsend 的文档。

ffsend 的用法也很简单

# 上传文件
ffsend upload my-file.txt
https://send.firefox.com/#sample-share-url

# 更多上传参数设置
# - 最多下载20次
# - 输入密码来加密上传的文件
# - 上传前归档文件
# - 将分享链接复制到剪切板
# - 在浏览器中打开分享链接
$ ffsend upload --downloads 20 --password --archive --copy --open my-file.txt
Password: ******
https://send.firefox.com/#sample-share-url

procs

procsps 命令的替代品。相比于 ps 繁多的参数选项,procs 相对简单,信息展现更加直观,而且添加了语法高亮。

安装方法如下:

# homebrew
sudo brew install procs

# cargo 安装
cargo install procs

不带参数的 procs 命令会展示所有进程。

procs

prcos-no-opts

如果要显示某个用户的所有进程也很简单

procs rookie

更多更复杂的用法可以在项目的 README 中找到,这里不再赘述。

本作品采用《CC 协议》,转载必须注明作者和本文链接
多少事,从来急。天地转,光阴迫。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!