命令列的歷史可以追溯到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
fd
比find
使用起來更加簡單,而且檢索出的結果有顏色區分。
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
系統中實測可用。
如果大家還有其他好用的命令列工具,歡迎提出。