🚀提升生产力:是时候升级你的命令行工具了

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

随着计算机性能的飞速发展,图形化的操作界面逐渐成为主流,命令行工具离普通用户越来越远。

这些年来,图形界面的发展不仅仅表现在界面越来越美观,其操作方式也越来越丰富,不只是早期的鼠标和键盘,现在还有触摸屏,手写笔等等一系列新的交互方式。

相对于图形界面,命令行 的发展似乎停滞不前,用了这么多年,似乎还是那几个命令。

不过,从另一个角度来看,Linux系统的那些命令看似简单,却可以通过组合来满足我们各种各样的操作需求,

不得不佩服早期设计命令行的那些大神的智慧。

本篇介绍新的命令行工具和老的命令功能其实差不多,只是更加智能和美观,

能够更好的利用各种新式的命令行终端的能力。

如果老命令用习惯了,可以将新的命令取个和老命了一样的别名来覆盖老命令,比如:

bash 复制代码
alias new_cmd=old_cmd

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

1. bat > cat

bat命令安装方法:

bash 复制代码
sudo apt install bat

新旧命令的效果对比:

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

2. prettyping > ping

prettyping命令安装方法:

bash 复制代码
curl -O https://raw.githubusercontent.com/denilsonsa/prettyping/master/prettyping
chmod +x prettyping

prettyping是一个bash脚本

新旧命令的效果对比:

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

3. fzf > ctrl+r

fzf安装方法:

bash 复制代码
sudo apt install fzf

默认ctrl+r的效果:

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

4. htop > top

htop安装方法:

bash 复制代码
sudo apt install htop

top的效果:

htop的效果:

5. diff-so-fancy > diff

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

bash 复制代码
npm i diff-so-fancy

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

bash 复制代码
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安装方法:

bash 复制代码
sudo apt-get install fd-find

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

7. ncdu > du

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

bash 复制代码
sudo apt-get install ncdu

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

8. tldr > man

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

bash 复制代码
npm install -g tldr
# 或者
pip3 install tldr

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

9. ag > grep

ag安装方法:

bash 复制代码
sudo apt-get install silversearcher-ag

grep命令其实也非常强大,但是参数太复杂,不经常使用的话,很难记得住。

ag命令不仅使用简单,性能也比grep要好,显示效果也更美观。

10. jq

jq命令是用来在命令行中以可读的方式显示json数据的。

因为json格式流行的比较晚,所以没有显示json格式数据的老命令

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

11. 总结

上述所有的命令都在 debian12 系统中实测可用。

如果大家还有其他好用的命令行工具,欢迎提出。

相关推荐
天才奇男子11 小时前
HAProxy高级功能全解析
linux·运维·服务器·微服务·云原生
学嵌入式的小杨同学11 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
酥暮沐12 小时前
iscsi部署网络存储
linux·网络·存储·iscsi
❀͜͡傀儡师12 小时前
centos 7部署dns服务器
linux·服务器·centos·dns
Dying.Light12 小时前
Linux部署问题
linux·运维·服务器
S190112 小时前
Linux的常用指令
linux·运维·服务器
小义_13 小时前
【RH134知识点问答题】第7章 管理基本存储
linux·运维·服务器
梁洪飞13 小时前
内核的schedule和SMP多核处理器启动协议
linux·arm开发·嵌入式硬件·arm
_运维那些事儿14 小时前
VM环境的CI/CD
linux·运维·网络·阿里云·ci/cd·docker·云计算
Y1rong14 小时前
linux之文件IO
linux