🚀提升生產力:是時候升級你的命令列工具了

2023-12-10 18:02:17

命令列的歷史可以追溯到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/prettyping
chmod +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 系統中實測可用。
如果大家還有其他好用的命令列工具,歡迎提出。