我們不可能記住所有的命令,對吧?是的。除了經常使用的命令之外,我們幾乎不可能記住一些很少使用的長命令。這就是為什麼需要一些外部工具來幫助我們在需要時找到命令。在過去,我們已經點評了兩個有用的工具,名為 “Bashpast” 和 “Keep”。使用 Bashpast,我們可以輕鬆地為 Linux 命令新增書籤,以便更輕鬆地重複呼叫。而 Keep 實用程式可以用來在終端中保留一些重要且冗長的命令,以便你可以隨時使用它們。今天,我們將看到該系列中的另一個工具,以幫助你記住命令。現在讓我們認識一下 “Pet”,這是一個用 Go 語言編寫的簡單的命令列程式碼管理器。
使用 Pet,你可以:
- 註冊/新增你重要的、冗長和複雜的命令片段。
- 以互動方式來搜尋儲存的命令片段。
- 直接執行程式碼片段而無須一遍又一遍地輸入。
- 輕鬆編輯儲存的程式碼片段。
- 通過 Gist 同步片段。
- 在片段中使用變數
- 還有很多特性即將來臨。
安裝 Pet 命令列介面程式碼管理器
由於它是用 Go 語言編寫的,所以確保你在系統中已經安裝了 Go。
安裝 Go 後,從 Pet 釋出頁面 獲取最新的二進位制檔案。
1 2 |
wget https://github.com/knqyf263/pet/releases/download/v0.2.4/pet_0.2.4_linux_amd64.zip |
對於 32 位計算機:
1 2 |
wget https://github.com/knqyf263/pet/releases/download/v0.2.4/pet_0.2.4_linux_386.zip |
解壓下載的檔案:
1 2 |
unzip pet_0.2.4_linux_amd64.zip |
對於 32 位:
1 2 |
unzip pet_0.2.4_linux_386.zip |
將 pet
二進位制檔案複製到 PATH(即 /usr/local/bin
之類的)。
1 2 |
sudo cp pet /usr/local/bin/ |
最後,讓它可以執行:
1 2 |
sudo chmod +x /usr/local/bin/pet |
如果你使用的是基於 Arch 的系統,那麼你可以使用任何 AUR 幫助工具從 AUR 安裝它。
使用 Pacaur:
1 2 |
pacaur -S pet-git |
使用 Packer:
1 2 |
packer -S pet-git |
使用 Yaourt:
1 2 |
yaourt -S pet-git |
使用 Yay:
1 2 |
yay -S pet-git |
此外,你需要安裝 fzf 或 peco 工具以啟用互動式搜尋。請參閱官方 GitHub 連結瞭解如何安裝這些工具。
用法
執行沒有任何引數的 pet
來檢視可用命令和常規選項的列表。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
$ pet pet - Simple command-line snippet manager. Usage: pet [command] Available Commands: configure Edit config file edit Edit snippet file exec Run the selected commands help Help about any command list Show all snippets new Create a new snippet search Search snippets sync Sync snippets version Print the version number Flags: --config string config file (default is $HOME/.config/pet/config.toml) --debug debug mode -h, --help help for pet Use "pet [command] --help" for more information about a command. |
要檢視特定命令的幫助部分,執行:
1 2 |
$ pet [command] --help |
配置 Pet
預設配置其實工作的挺好。但是,你可以更改儲存片段的預設目錄,選擇要使用的選擇器(fzf 或 peco),編輯片段的預設文字編輯器,新增 GIST id 詳細資訊等。
要配置 Pet,執行:
1 2 |
$ pet configure |
該命令將在預設的文字編輯器中開啟預設配置(例如我是 vim),根據你的要求更改或編輯特定值。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[General] snippetfile = "/home/sk/.config/pet/snippet.toml" editor = "vim" column = 40 selectcmd = "fzf" [Gist] file_name = "pet-snippet.toml" access_token = "" gist_id = "" public = false ~ |
建立片段
為了建立一個新的片段,執行:
1 2 |
$ pet new |
新增命令和描述,然後按下Enter鍵儲存它。
1 2 3 |
Command> echo 'Hell1o, Welcome1 2to OSTechNix4' | tr -d '1-9' Description> Remove numbers from output. |
這是一個簡單的命令,用於從 echo
命令輸出中刪除所有數字。你可以很輕鬆地記住它。但是,如果你很少使用它,幾天後你可能會完全忘記它。當然,我們可以使用 CTRL+R
搜尋歷史記錄,但 Pet 會更容易。另外,Pet 可以幫助你新增任意數量的條目。
另一個很酷的功能是我們可以輕鬆新增以前的命令。為此,在你的 .bashrc
或 .zshrc
檔案中新增以下行。
1 2 3 4 5 |
function prev() { PREV=$(fc -lrn | head -n 1) sh -c "pet new `printf %q "$PREV"`" } |
執行以下命令來使儲存的更改生效。
1 2 |
source .bashrc |
或者:
1 2 |
source .zshrc |
現在,執行任何命令,例如:
1 2 |
$ cat Documents/ostechnix.txt | tr '|' '\n' | sort | tr '\n' '|' | sed "s/.$/\\n/g" |
要新增上述命令,你不必使用 pet new
命令。只需要:
1 2 |
$ prev |
將說明新增到該命令程式碼片段中,然後按下Enter鍵儲存。
片段列表
要檢視儲存的片段,執行:
1 2 |
$ pet list |
編輯片段
如果你想編輯程式碼片段的描述或命令,執行:
1 2 |
$ pet edit |
這將在你的預設文字編輯器中開啟所有儲存的程式碼片段,你可以根據需要編輯或更改片段。
1 2 3 4 5 6 7 8 9 10 |
[[snippets]] description = "Remove numbers from output." command = "echo 'Hell1o, Welcome1 2to OSTechNix4' | tr -d '1-9'" output = "" [[snippets]] description = "Alphabetically sort one line of text" command = "\t prev" output = "" |
在片段中使用標籤
要將標籤用於判斷,使用下面的 -t
標誌。
1 2 3 4 5 |
$ pet new -t Command> echo 'Hell1o, Welcome1 2to OSTechNix4' | tr -d '1-9 Description> Remove numbers from output. Tag> tr command examples |
執行片段
要執行一個儲存的片段,執行:
1 2 |
$ pet exec |
從列表中選擇你要執行的程式碼段,然後按Enter鍵來執行它:
記住你需要安裝 fzf 或 peco 才能使用此功能。
尋找片段
如果你有很多要儲存的片段,你可以使用字串或關鍵詞如 below.qjz 輕鬆搜尋它們。
1 2 |
$ pet search |
輸入搜尋字詞或關鍵字以縮小搜尋結果範圍。
同步片段
首先,你需要獲取訪問令牌。轉到此連結 https://github.com/settings/tokens/new 並建立訪問令牌(只需要 “gist” 範圍)。
使用以下命令來配置 Pet:
1 2 |
$ pet configure |
將令牌設定到 [Gist]
欄位中的 access_token
。
設定完成後,你可以像下面一樣將片段上傳到 Gist。
1 2 3 4 |
$ pet sync -u Gist ID: 2dfeeeg5f17e1170bf0c5612fb31a869 Upload success |
你也可以在其他 PC 上下載片段。為此,編輯配置檔案並在 [Gist]
中將 gist_id
設定為 GIST id。
之後,使用以下命令下載片段:
1 2 3 |
$ pet sync Download success |
獲取更多細節,參閱幫助選項:
1 2 |
pet -h |
或者:
1 2 |
pet [command] -h |
這就是全部了。希望這可以幫助到你。正如你所看到的,Pet 使用相當簡單易用!如果你很難記住冗長的命令,Pet 實用程式肯定會有用。
乾杯!