升级一些日常工具
当 Rust 开始受到关注时,社区给予它的主要目的之一是重新创建一些更流行的命令行工具。一旦你用 Rust 开发了你的第一个命令行应用程序,就很容易掌握其中的原因。低级语言与 clap、structopt 或 console 等 crate 的结合,以及使用 cargo 发布和安装 crate 的便利性,使得开发此类软件成为一种乐趣。
今天,我们将看到五个用 Rust 重写的命令行工具,它们带来的改进将引起您的注意。
bat
唯一比猫更好的东西是什么?一只蝙蝠。好吧,也许不是,至少如果我们谈论的是哺乳动物(尽管我仍然喜欢蝙蝠),但在终端的背景下,我有一点更喜欢蝙蝠而不是猫。
bat 是一个与 UNIX 内置 cat 相同的命令,但它具有语法突出显示功能并与 git 集成以显示文件的差异。因此,对于像我们这样的开发人员来说,这是对一个非常常见的工具的一个很好的改进。
要安装 bat,您可以按照他们的 README 或按照 Rustacean 的方式安装。
cargo install bat
ripgrep
ripgrep 是 FAST,就像,快得惊人。这是我能做出的最好的描述。仅根据名称,您就可以看到这个 crate 完成了什么:替换 grep。这些是大词,因为 grep 是 UNIX 的一个非常方便的工具,用于递归搜索文本,但 ripgrep 是相同的但更快。
它最初由 Andrew Gallant 发起,在其 GitHub 页面上有 300 多名贡献者。它支持很多编码,可以区分大小写或不区分大小写,遵循 .Gitignores 内容等等。查看其创建者提供的一些基准,以了解我在说什么。
cargo install ripgrep
dust
如果说 ripgrep 是根据速度升级 grep 的话,dust 就成了 du 的替代品,专注于简洁、商品化和可视化。如果您过去使用过 du,那么您已经知道该命令是大量文件夹日志记录和有关缺少权限的消息的同义词。
另一方面,运行灰尘,它将为您生成基于终端高度的结果,其中包含文件夹树,甚至是直观地显示磁盘使用情况的图表。一个灰尘呼叫通常会提供您需要的所有信息,而无需添加标志或让您的终端淹没在文本行中。
它最初由 Andy Boot 发起,在 GitHub 上有 30 多个贡献者。
cargo install du-dust
底部
现在,如果说灰尘在数据可视化方面已经比 du 有了不错的飞跃,那么底部的成就就更加狂野了。 以至于我不会对此说任何话,只是让图像负责将这个很棒的工具卖给你。
EXA
最后,在结束本文时,我们将盯着 cd 旁边的 UNIX 之王,全能的 ls。 很少有命令比好的 ol'ls 写得更多,以至于我的 zsh 已经带有很多别名来更快地写它,比如 l 或 la。
最后一种情况是我唯一没有切换到新的现代工具的情况,但是 exa 的额外功能可能非常有用,例如不同类型文件的着色或与 Git 的兼容性。
与所有其他人一样,您可以在工具的自述文件中找到说明或使用货物。
cargo install exa
就这样。 我希望你喜欢它,并找到了一些日常使用的新工具。 再见!