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

命令行 的历史可以追溯到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 系统中实测可用。

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

相关推荐
Length-vision7 分钟前
Linux入门学习:Linux调试器gdb使用
linux·学习
技术不支持16 分钟前
WSL2+Ubuntu 22.04搭建Qt开发环境+中文输入法
linux·运维·服务器·qt·ubuntu
木人舟16 分钟前
以root用户登陆ubuntu的桌面环境
linux·运维·ubuntu
几度热忱17 分钟前
【Ubuntu】Ubuntu双网卡配置 实现内外网互不影响同时可用
linux·运维·ubuntu
打工人00719 分钟前
ubuntu 执行定时任务crontab -e 无法输入的问题
linux·运维·ubuntu
IOT.FIVE.NO.119 分钟前
ubuntu个人实用配置问题
linux·运维·ubuntu
_infinite_20 分钟前
Ubuntu 与Uboot网络共享资源
linux·服务器·ubuntu
masterMono21 分钟前
Ubuntu中常用的操作指令
linux·运维·ubuntu
佚明zj22 分钟前
ubuntu如何进行自动mount硬盘(简易法)
linux·运维·ubuntu
白如意i22 分钟前
如何在 Ubuntu 16.04 服务器上安装 Python 3 并设置编程环境
linux·python·ubuntu