Pet:一個(gè)簡(jiǎn)單的命令行片段管理器
我們不可能記住所有的命令,對(duì)吧?是的。除了經(jīng)常使用的命令之外,我們幾乎不可能記住一些很少使用的長(zhǎng)命令。這就是為什么需要一些外部工具來幫助我們?cè)谛枰獣r(shí)找到命令。在過去,我們已經(jīng)點(diǎn)評(píng)了兩個(gè)有用的工具,名為 “Bashpast” 和 “Keep”。使用 Bashpast,我們可以輕松地為 Linux 命令添加書簽,以便更輕松地重復(fù)調(diào)用。而 Keep 實(shí)用程序可以用來在終端中保留一些重要且冗長(zhǎng)的命令,以便你可以隨時(shí)使用它們。今天,我們將看到該系列中的另一個(gè)工具,以幫助你記住命令?,F(xiàn)在讓我們認(rèn)識(shí)一下 “Pet”,這是一個(gè)用 Go 語言編寫的簡(jiǎn)單的命令行代碼管理器。
使用 Pet,你可以:
- 注冊(cè)/添加你重要的、冗長(zhǎng)和復(fù)雜的命令片段。
- 以交互方式來搜索保存的命令片段。
- 直接運(yùn)行代碼片段而無須一遍又一遍地輸入。
- 輕松編輯保存的代碼片段。
- 通過 Gist 同步片段。
- 在片段中使用變量
- 還有很多特性即將來臨。
安裝 Pet 命令行接口代碼管理器
由于它是用 Go 語言編寫的,所以確保你在系統(tǒng)中已經(jīng)安裝了 Go。
安裝 Go 后,從 Pet 發(fā)布頁面 獲取最新的二進(jìn)制文件。
wget https://github.com/knqyf263/pet/releases/download/v0.2.4/pet_0.2.4_linux_amd64.zip
對(duì)于 32 位計(jì)算機(jī):
wget https://github.com/knqyf263/pet/releases/download/v0.2.4/pet_0.2.4_linux_386.zip
解壓下載的文件:
unzip pet_0.2.4_linux_amd64.zip
對(duì)于 32 位:
unzip pet_0.2.4_linux_386.zip
將 pet
二進(jìn)制文件復(fù)制到 PATH(即 /usr/local/bin
之類的)。
sudo cp pet /usr/local/bin/
最后,讓它可以執(zhí)行:
sudo chmod +x /usr/local/bin/pet
如果你使用的是基于 Arch 的系統(tǒng),那么你可以使用任何 AUR 幫助工具從 AUR 安裝它。
使用 Pacaur:
pacaur -S pet-git
使用 Packer:
packer -S pet-git
使用 Yaourt:
yaourt -S pet-git
使用 Yay:
yay -S pet-git
此外,你需要安裝 fzf 或 peco 工具以啟用交互式搜索。請(qǐng)參閱官方 GitHub 鏈接了解如何安裝這些工具。
用法
運(yùn)行沒有任何參數(shù)的 pet
來查看可用命令和常規(guī)選項(xiàng)的列表。
$ 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.
要查看特定命令的幫助部分,運(yùn)行:
$ pet [command] --help
配置 Pet
默認(rèn)配置其實(shí)工作的挺好。但是,你可以更改保存片段的默認(rèn)目錄,選擇要使用的選擇器(fzf 或 peco),編輯片段的默認(rèn)文本編輯器,添加 GIST id 詳細(xì)信息等。
要配置 Pet,運(yùn)行:
$ pet configure
該命令將在默認(rèn)的文本編輯器中打開默認(rèn)配置(例如我是 vim),根據(jù)你的要求更改或編輯特定值。
[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
~
創(chuàng)建片段
為了創(chuàng)建一個(gè)新的片段,運(yùn)行:
$ pet new
添加命令和描述,然后按下回車鍵保存它。
Command> echo 'Hell1o, Welcome1 2to OSTechNix4' | tr -d '1-9'
Description> Remove numbers from output.
這是一個(gè)簡(jiǎn)單的命令,用于從 echo
命令輸出中刪除所有數(shù)字。你可以很輕松地記住它。但是,如果你很少使用它,幾天后你可能會(huì)完全忘記它。當(dāng)然,我們可以使用 CTRL+R
搜索歷史記錄,但 Pet 會(huì)更容易。另外,Pet 可以幫助你添加任意數(shù)量的條目。
另一個(gè)很酷的功能是我們可以輕松添加以前的命令。為此,在你的 .bashrc
或 .zshrc
文件中添加以下行。
function prev() {
PREV=$(fc -lrn | head -n 1)
sh -c "pet new `printf %q "$PREV"`"
}
執(zhí)行以下命令來使保存的更改生效。
source .bashrc
或者:
source .zshrc
現(xiàn)在,運(yùn)行任何命令,例如:
$ cat Documents/ostechnix.txt | tr '|' '\n' | sort | tr '\n' '|' | sed "s/.$/\\n/g"
要添加上述命令,你不必使用 pet new
命令。只需要:
$ prev
將說明添加到該命令代碼片段中,然后按下回車鍵保存。
片段列表
要查看保存的片段,運(yùn)行:
$ pet list
編輯片段
如果你想編輯代碼片段的描述或命令,運(yùn)行:
$ pet edit
這將在你的默認(rèn)文本編輯器中打開所有保存的代碼片段,你可以根據(jù)需要編輯或更改片段。
[[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 = ""
在片段中使用標(biāo)簽
要將標(biāo)簽用于判斷,使用下面的 -t
標(biāo)志。
$ pet new -t
Command> echo 'Hell1o, Welcome1 2to OSTechNix4' | tr -d '1-9
Description> Remove numbers from output.
Tag> tr command examples
執(zhí)行片段
要執(zhí)行一個(gè)保存的片段,運(yùn)行:
$ pet exec
從列表中選擇你要運(yùn)行的代碼段,然后按回車鍵來運(yùn)行它:
記住你需要安裝 fzf 或 peco 才能使用此功能。
尋找片段
如果你有很多要保存的片段,你可以使用字符串或關(guān)鍵詞如 below.qjz 輕松搜索它們。
$ pet search
輸入搜索字詞或關(guān)鍵字以縮小搜索結(jié)果范圍。
同步片段
首先,你需要獲取訪問令牌。轉(zhuǎn)到此鏈接 https://github.com/settings/tokens/new 并創(chuàng)建訪問令牌(只需要 “gist” 范圍)。
使用以下命令來配置 Pet:
$ pet configure
將令牌設(shè)置到 [Gist]
字段中的 access_token
。
設(shè)置完成后,你可以像下面一樣將片段上傳到 Gist。
$ pet sync -u
Gist ID: 2dfeeeg5f17e1170bf0c5612fb31a869
Upload success
你也可以在其他 PC 上下載片段。為此,編輯配置文件并在 [Gist]
中將 gist_id
設(shè)置為 GIST id。
之后,使用以下命令下載片段:
$ pet sync
Download success
獲取更多細(xì)節(jié),參閱幫助選項(xiàng):
pet -h
或者:
pet [command] -h
這就是全部了。希望這可以幫助到你。正如你所看到的,Pet 使用相當(dāng)簡(jiǎn)單易用!如果你很難記住冗長(zhǎng)的命令,Pet 實(shí)用程序肯定會(huì)有用。