歡迎光臨
每天分享高質量文章

命令列:增強版 | Linux 中國

下麵就是我現在使用的用於增強原有命令列工具的串列。
— Remy Sharp


致謝
編譯自 | 
https://remysharp.com/2018/08/23/cli-improved
 
 作者 | Remy Sharp
 譯者 | DavidChenLiang ??共計翻譯:8.0 篇 貢獻時間:94 天

我不確定有多少 Web 開發者能完全避免使用命令列。就我來說,我從 1997 年上大學就開始使用命令列了,那時的 l33t-hacker 讓我著迷,同時我也覺得它很難掌握。

過去這些年我的命令列本領在逐步加強,我經常會去搜尋工作中能用的更好的命令列工具。下麵就是我現在使用的用於增強原有命令列工具的串列。

怎麼忽略我所做的命令列增強

通常情況下我會用別名將新的增強的命令列工具改寫原來的命令(如 cat 和 ping)。

如果我需要運行原來的命令的話(有時我確實需要這麼做),我會像下麵這樣來運行未加修改的原始命令。(我用的是 Mac,你的用法可能不一樣)

  1. $ \cat # 忽略叫 "cat" 的別名 - 具體解釋: https://stackoverflow.com/a/16506263/22617

  2. $ command cat # 忽略函式和別名

bat > cat

cat 用於打印檔案的內容,如果你平時用命令列很多的話,例如語法高亮之類的功能會非常有用。我首先發現了 ccat[1] 這個有語法高亮功能的工具,然後我發現了 bat[2],它的功能有語法高亮、分頁、行號和 git 集成。

bat 命令也能讓我在(多於一屏的)輸出里使用 / 搜索(和用 less 搜索功能一樣)。

Sample bat output

我將別名 cat 指到了 bat 命令:

  1. alias cat='bat'

◈ 安裝指引[2]

prettyping > ping

ping 非常有用,當我碰到“糟了,是不是 X 掛了?/我的網不通了?”這種情況下我最先想到的工具就是它了。但是 prettyping(“prettyping” 可不是指“pre typing”)在 ping 的基礎上加了友好的輸出,這可讓我感覺命令列友好了很多呢。

Sample ping output

我也將 ping 用別名鏈接到了 prettyping 命令:

  1. alias ping='prettyping --nolegend'

◈ 安裝指引[3]

fzf > ctrl+r

在終端里,使用 ctrl+r 將允許你在命令歷史里反向搜索[4]使用過的命令,這是個挺好的小技巧,儘管它有點麻煩。

fzf 這個工具相比於 ctrl+r 有了巨大的進步。它能針對命令列歷史進行模糊查詢,並且提供了對可能的合格結果進行全面交互式預覽。