5 个值得在 Linux 命令行上尝试的 Rust 工具

尝试一些用于常见任务的新命令。
97 位读者喜欢这篇文章。

Linux 继承了 Unix 的很多东西,Unix 已经存在半个世纪了。这意味着您在 Linux 终端中使用的大多数工具可能都有非常悠久的历史,或者被编写出来是为了模拟那些历史命令。在 POSIX 世界中,工具不需要不断地被重新发明,这是一种自豪感。事实上,今天有一部分 Linux 用户可以运行一个 在他们出生之前 的 Linux 版本,而无需学习任何新东西。它经过了尝试、验证和可靠。

但这并不意味着没有进化。Linux 用户知道和喜爱的所有命令都经过了多年的改进。有些甚至被完全取代,现在非常普遍,以至于很少有人还记得旧的命令。你能想象没有 SSH 的 Linux 吗?好吧,信不信由你,ssh 命令取代了一个名为 rsh 的命令。

我经常寻找新命令,因为我总是对更高效地完成任务的可能性感兴趣。如果有一个更好、更快或更强大的命令可以完成常见的任务,我想了解它。虽然任何语言都有平等的机会发明新的 Linux 命令,但 Rust 开发人员一直在交付令人印象深刻的通用实用程序集合。

用 tealdeer 替换 man

Tealdeer 提供了 tldr 命令,该命令显示如何使用命令的简短、直截了当的摘要。并不是说 manual 和 info 页面没有用,因为它们确实有用,但有时它们可能有点冗长和晦涩难懂。Tealdeer 使其提示保持清晰简洁,并提供如何使用您正在努力回忆的命令的示例。

$ tldr tar

  Archiving utility.
  Often combined with a compression method, such as gzip or bzip2.
  More information: <https://gnu.ac.cn/software/tar>.

  [c]reate an archive and write it to a [f]ile:

      tar cf target.tar file1 file2 file3

  [c]reate a g[z]ipped archive and write it to a [f]ile:

      tar czf target.tar.gz file1 file2 file3

  [c]reate a g[z]ipped archive from a directory using relative paths:

      tar czf target.tar.gz --directory=path/to/directory .
[...]

阅读关于 tldr 的完整文章。

用 dust 替换 du

du 命令提供有关磁盘使用情况的反馈。这是一个相对简单的任务;同样,该命令也很简单。dust 命令是用 Rust 编写的 du,它为喜欢添加视觉上下文的用户使用颜色编码和条形图。

$ dust
 5.7M   ┌── exa                                   │                                   ██ │   2%
 5.9M   ├── tokei                                 │                                   ██ │   2%
 6.1M   ├── dust                                  │                                   ██ │   2%
 6.2M   ├── tldr                                  │                                   ██ │   2%
 9.4M   ├── fd                                    │                                   ██ │   4%
 2.9M   │ ┌── exa                                 │                                 ░░░█ │   1%
  15M   │ ├── rustdoc                             │                                 ░███ │   6%
  18M   ├─┴ bin                                   │                                 ████ │   7%
  27M   ├── rg                                    │                               ██████ │  11%
 1.3M   │     ┌── libz-sys-1.1.3.crate            │  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█ │   0%
 1.4M   │     ├── libgit2-sys-0.12.19+1.1.0.crate │  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█ │   1%
 4.5M   │   ┌─┴ github.com-1ecc6299db9ec823       │  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█ │   2%
 4.5M   │ ┌─┴ cache                               │  ░░░░░░░░░░░░░░░░░░░░░░░░
[...]

阅读关于 dust 的完整文章。

用 fd 替换 find

find 命令是用于在计算机上查找文件的有用工具,但其语法可能难以掌握。不仅有很多选项,而且这些选项的顺序也很重要,具体取决于您正在做什么。有些人编写了脚本来将任务从命令中抽象出来。其他人只是完全编写一个新的工具,例如 fd

语法再简单不过了

$ fd example
Documents/example.txt
Documents/example-java
Downloads/example.com/index.html

阅读关于 fd 的完整文章。

用 exa 替换 ls

您可能不认为 ls 命令还有很大的改进空间。但是 exa 证明,即使是最普通的实用程序也可以从小调整中受益。例如,为什么不使用具有内置 Git 感知的列表命令呢?为什么不在文件列表中获得额外的元数据呢? 

阅读关于 exa 的完整文章。

尝试 Tokei

与此列表中的其他工具不同,tokei 实用程序不会替换一个命令,但它确实证明了 Linux 终端始终是一个不断增长的环境。终端可能包含许多遗留命令,但一直都有新的和令人兴奋的命令出现。

当我在本地文件系统中查看一个项目,并且需要知道它包含哪些语言时,我依赖于像 Tokei 这样的工具。它是一个显示有关代码库统计信息的程序,广泛支持 150 种编程语言。我不需要记住使用了哪些语言,或者有多少行代码,或者有多少空白或空格或注释。它是一个完整的代码分析工具,使我能够轻松地进入和浏览代码。

$ tokei ~/exa/src ~/Work/wildfly/jaxrs
==================
Language   Files Lines Code Comments Blank
Java        46    6135  4324  945     632
XML         23    5211  4839  473     224
---------------------------------
Rust
Markdown
-----------------------------------
Total

阅读关于 tokei 的完整文章。

找到你最喜欢的

开源用户永远不必满足于只使用一小部分命令,甚至只使用一个版本的命令。找到您喜欢的命令,无论它们是新兴工作流程的新想法,还是旧工具的重新实现,还是今天和几十年前一样好的永恒经典。找到让您的生活更美好的命令并享受吧!

接下来阅读什么
Sudeshna is from Kolkata and currently working for the Red Hat Middleware team in Pune, India. She loves to explore different open source projects and programs. She started contributing to Open Source a couple of years back as an Hacktober Participant since then she has been an avid blogger at Dzone on Python and Data Science. She enjoys her free time stargazing and loves continental cuisine. She is an RHCSA and is working her way to RHCA.
Sudeshna 来自加尔各答,目前在印度浦那的 Red Hat 中间件团队工作。她喜欢探索不同的开源项目和程序。她从几年前开始作为 Hacktober 参与者为开源做贡献,从那时起,她一直是 Dzone 上关于 Python 和数据科学的狂热博主。她喜欢在空闲时间观星,热爱欧陆美食。

贡献者

5 条评论

我每天使用的另一个工具是 bat,它可以替代您对 straight cat 和 less 的使用。https://github.com/sharkdp/bat

我还制作了这个包装器脚本,以便您可以像使用 ls 一样使用带有相同开关的 exa,这样您就不必记住新的开关
https://gist.github.com/eggbean/74db77c4f6404dd1f975bd6f048b86f8

这是一篇非常有内容的文章。感谢分享知识。我已经玩 Rust 工具一段时间了。我很想看到更多文章出现!

很棒的文章,感谢您的提示!我会将此添加为书签以供以后使用。

非常有帮助——谢谢。

感谢您提供精彩的提示和工具介绍。我们是否必须安装 Rust 才能使用它们?
关于这方面的任何指导都会很有帮助。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.