Linux 诞生于 1991 年,我们熟知的 ls、cd、ps 等命令也出生于那个年代。虽然它们都是 30 年前的产物,但是我们现在依旧每天都在用这些命令。
也许是审美疲劳又或是好奇心作祟,你可曾好奇过:“这么多年过去了,开源世界里有没有可以替代这些“老态龙钟”的 Linux 命令,或者是更加好用的命令行工具呢?”
今天整理了 10 款开源命令行工具,这些开源项目不仅实现了 和 Linux 命令相同的功能,而且它们与时俱进地加入更多新功能,从而在使用方式、性能和展示效果上更胜一筹,比如:更加人性化的参数设计、一目了然的展示效果、支持跨平台等。所以我称它们为:更先进的命令行工具!
下面就让我们一同走进这些让人相见恨晚、爱不释手的开源命令行工具吧。
为阅读起来更加直观,我把标题设定成了 编号:项目名(可替代的命令)
1:dust(du)
- 编程语言:Rust(96%)
- Star 数:4.4k
- 可替代:du 命令
- 介绍:能够一目了然地展示目录和文件大小的命令行工具。使用时无需加额外的参数,即可展示当前目录下的文件和目录的大小、包含的子目录列表(树状)以及占用空间的百分比(条形图)。
- 用法:dust
- 适用平台:Windows、Linux、macOS
- 地址:https://github.com/bootandy/dust
2:duf(df)
- 编程语言:Go(94%)
- Star 数:9.3k
- 可替代:df 命令
- 介绍:通过彩色表格的方式展示磁盘使用情况的工具。不仅对设备进行了分类,还支持结果排序。
- 用法:duf
- 适用平台:Windows、Linux、macOS
- 地址:https://github.com/muesli/duf
3:procs(ps)
- 编程语言:Rust(99%)
- Star 数:3k
- 可替代:ps 命令
- 介绍:能够展示进程占用的 TCP/UDP 端口、Docker 容器名称等更多信息的命令行进程管理工具,以及轻松地按列排序和关键字过滤进程。
- 用法:procs 待过滤的关键字
- 适用平台:Linux、macOS 和 Windows 上存在一些问题
- 地址:https://github.com/dalance/procs
4:bottom(top)
- 编程语言:Rust(99%)
- Star 数:4.4k
- 可替代:top 命令
- 介绍:图形化实时监控进程和系统资源的工具。支持实时展示 CPU、内存、硬盘、网络、进程、温度等指标,而且还可通过插件扩展可视化效果,相较于其它同类型的开源项目,该项目更加活跃。
- 用法:btm
- 适用平台:Windows、Linux、macOS
- 地址:https://github.com/ClementTsang/bottom
5:exa(ls)
- 编程语言:Rust(92%)
- Star 数:18.4k
- 可替代:ls 命令
- 介绍:更加人性化地显示目录下文件的工具。它通过不同颜色展示来区别文件类型,还支持以树状的方式展示文件层级、展示 Git 状态等方便的功能。
- 用法:exa -l
- 适用平台:Linux、macOS
- 地址:https://github.com/ogham/exa
6:zoxide(cd)
- 编程语言:Rust(98%)
- Star 数:6.9k
- 可替代:cd 命令
- 介绍:更聪明的cd 命令。能够记住你最常使用的目录,从而让目录跳转更加方便和快捷。
- 用法:z 目录
- 适用平台:Windows、Linux、macOS
- 地址:https://github.com/ajeetdsouza/zoxide
7:ripgrep(grep)
- 编程语言:Rust(94%)
- Star 数:45.6k
- 可替代:grep 命令
- 介绍:超快的文本搜索工具。不仅快还更加人性化,比如自动忽略 .gitignore 中的文件、自动递归搜索、自动高亮展示匹配的结果。
- 用法:rg '关键字' 目录
- 适用平台:Windows、Linux、macOS
- 地址:https://github.com/BurntSushi/ripgrep
另外,HelloGitHub 之前还发过一篇文章,详细介绍了搜索文件的开源项目:fd(find)的使用方法。
8:bat(cat)
- 编程语言:Rust(95%)
- Star 数:35.6k
- 可替代:cat 命令
- 介绍:默认就带自动翻页、行号、语法高亮、Git 集成等功能的升级版文件查看工具。
- 用法:bat 文件名
- 适用平台:Windows、Linux、macOS
- 地址:https://github.com/sharkdp/bat
9:httpie(curl)
- 编程语言:Python(92%)
- Star 数:22.4k
- 可替代:curl 和wget 命令
- 介绍:全能但不臃肿的命令行 HTTP 客户端。使用起来极其方便,支持请求、会话、下载、JSON 等功能。该项目经历了 Star 清零的事件(误操作),这才不到一年的时间,现在已经拥有超过 2 万的 Star 啦!
- 用法:http/https 地址
- 适用平台:Windows、Linux、macOS
- 地址:https://github.com/httpie/httpie
10:hyperfine(time)
- 编程语言:Rust(93%)
- Star 数:11.9k
- 可替代:time 命令
- 介绍:强大的命令行基准测试工具。支持任意 shell 命令、多次运行的统计分析和结果导出。
- 用法:hyperfine '命令1' '命令2'
- 适用平台:Windows、Linux、macOS
- 地址:https://github.com/sharkdp/hyperfine
最后
时代在发展,技术在进步。没有永久先进的工具,只有青出于蓝、更加好用的利器。
由于篇幅问题,本文只列举了 10 款可替代 Linux 命令的开源项目。如果想了解更多此类项目,这还有个开源项目:modern-unix,它包含了 28 个常用的 Linux 命令的替代品。
地址:https://github.com/ibraheemdev/modern-unix