眾所周知,無論對於運維,還是開發來說,命令行工具都是非常高效的一種管理方式。但有一個很常見的現象就是,很多命令行語句比較復雜,用過一段時間后就忘記了。當然,這時我們可以通過網絡搜索或者使用命令的 -—help 選項來快速找到答案。雖然這種常用的方法能解決問題,但是使用起來相對還是顯得不那么快速高效。
navi 是一個在 GitHub 上開源的一個的工具 。navi 可以在命令行里給你提供了一個很方便使用的交互式的備忘錄,能夠幫助你在命令行里快速查閱、調用各種復雜難記的命令行語句。還支持中文注釋。
項目地址:https://github.com/denisidoro/navi
下面的是navi的演示效果圖

從演示中,我們可能看到使用了 navi 后,只需要鍵入一個單詞,備忘錄中的相關命令以及命令用法注釋都會實時顯示在下方供你直接選擇使用,這時我們只需找到想要的命令后即可直接運行相關命令。
安裝Navi
navi 的安裝還是很容易的,macOS 和 Linux 用戶都可以安裝。如果你已經安裝了 Homebrew 或者 Linuxbrew,那么只需下面一句命令就可以安裝好 navi。
brew install navi
如果你沒有安裝 Homebrew 或者 Linuxbrew 這樣的包管理器,你也可以直接通過源碼安裝。源碼安裝首先先安裝fzf
fzf項目地址:https://github.com/junegunn/fzf
# git clone --depth 1 https://github.com/junegunn/fzf.git /opt/fzf # cd /opt/fzf # ./install
拷貝源碼,直接安裝fzf,安裝完成后,配置環境
vim /etc/profile #添加一行 PATH="/opt/fzf/bin:$PATH"
使配置生效
source /etc/profile
接下來源碼安裝navi
# git clone https://github.com/denisidoro/navi /opt/navi # cd /opt/navi # make install
至此,navi安裝成功

Navi簡單的使用教程
具體的使用命令可以使用"navi --help"進行查詢。
1、首先,可以導入官方的一些已經編輯好的命令行查詢文檔。
# navi repo add https://github.com/denisidoro/cheats
如下圖所示,使用TAB鍵可以進行多選。

導入命令行文檔后,直接查詢相關命令
直接執行命令:navi 進行交互界面,進行相關命令查詢。或者執行“navi -q <cmd>”

2、手動編輯相關命令行文檔
命令文檔當前存放位置:/root/.local/share/navi/cheats/denisidoro__cheats/

查看文檔內容:vim db_mysql.cheat

以上命令行文檔相關說明
.cheat 文件語法主要有以下幾個注意點。
-
以「
%」開頭的行定義了該文件包含的特定的標簽 -
以「
#」開頭的行描述了該命令的作用和用法 -
以「
$」開頭的行定義了給定參數的可選值 -
其它所有的非空行都被視為可執行命令,命令中的變量以
<>表示
手動編輯linux內置命令行文檔:vim os_linux.cheat
# 創建遞歸目錄 mkdir -p <dir> # 刪除文件或目錄 rm -rf <files or dir> # 復制文件,遞歸拷貝 cp -rf <dir or file> # 查找文件
find <路徑> -type f -name "<name>"
# 查找目錄
find <路徑> -type d -name "<name>"
執行命令:navi -q linux

演示:
第一步:

第二步:

第三步:
結果如下:

至此,從上圖演示可以看到,我們在完成find命令備忘清單的定義后。日常使用中再也不用輸入長長的命令,只需要選中對應命令后,再輸入自定義參數就可完成所有操作。這樣以來,是不是大大提升了工作效率呢!
