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