命令行的历史可以追溯到Unix操作系统的起源,也就是1969年,Unix诞生之时,前辈们就已经用命令行来和操作系统交互了。

随着计算机性能的飞速发展,图形化的操作界面逐渐成为主流,命令行工具离普通用户越来越远。
这些年来,图形界面的发展不仅仅表现在界面越来越美观,其操作方式也越来越丰富,不只是早期的鼠标和键盘,现在还有触摸屏,手写笔等等一系列新的交互方式。

相对于图形界面,命令行的发展似乎停滞不前,用了这么多年,似乎还是那几个命令。
不过,从另一个角度来看,Linux系统的那些命令看似简单,却可以通过组合来满足我们各种各样的操作需求,
不得不佩服早期设计命令行的那些大神的智慧。

本篇介绍新的命令行工具和老的命令功能其实差不多,只是更加智能和美观,
能够更好的利用各种新式的命令行终端的能力。
如果老命令用习惯了,可以将新的命令取个和老命了一样的别名来覆盖老命令,比如:

alias new_cmd=old_cmd

下面是目前我搜集到改进的 命令行 工具的列表。

1. bat > cat

bat命令安装方法:

sudo apt install bat

新旧命令的效果对比:

替换旧命令:alias cat='bat'

2. prettyping > ping

prettyping命令安装方法:

curl -O https://raw.githubusercontent.com/denilsonsa/prettyping/master/prettypingchmod +x prettyping

prettyping是一个bash脚本

新旧命令的效果对比:

替换旧命令:alias ping='prettyping --nolegend'

3. fzf > ctrl+r

fzf安装方法:

sudo apt install fzf

默认ctrl+r的效果:

安装fzf之后,ctrl+r的效果:

4. htop > top

htop安装方法:

sudo apt install htop

top的效果:

htop的效果:

5. diff-so-fancy > diff

diff-so-fancy可以通过npm来安装:

npm i diff-so-fancy

diff-so-fancy一般用在git diff中,改善git diff 的显示效果:

git config --global core.pager "diff-so-fancy | less --tabs=4 -RFX"git config --global interactive.diffFilter "diff-so-fancy --patch"

6. fd > find

fd安装方法:

sudo apt-get install fd-find

fdfind使用起来更加简单,而且检索出的结果有颜色区分。

7. ncdu > du

ncdu是一个查看磁盘使用情况的命令,它的安装方法:

sudo apt-get install ncdu

ncdu不仅比du命令更加快速,显示的效果也直观很多。

8. tldr > man

tldr可以通过npm或者pip来安装:

npm install -g tldr# 或者pip3 install tldr

tldr比传统帮助手册man提供更简单、更平易近人的说明。

9. ag > grep

ag安装方法:

sudo apt-get install silversearcher-ag

grep命令其实也非常强大,但是参数太复杂,不经常使用的话,很难记得住。
ag命令不仅使用简单,性能也比grep要好,显示效果也更美观。

10. jq

jq命令是用来在命令行中以可读的方式显示json数据的。
因为json格式流行的比较晚,所以没有显示json格式数据的老命令

根据系统环境不同,可从下面的网址下载对应的jq命令二进制:jq 命令下载

11. 总结

上述所有的命令都在 debian12 系统中实测可用。
如果大家还有其他好用的命令行工具,欢迎提出。