Pet:一个简单的命令行片段管理器

2018 年 5 月 7 日 Linux爱好者

(点击上方公众号,可快速关注)


英文:SK,翻译:Linux中国/MjSeven

linux.cn/article-9600-1.html



我们不可能记住所有的命令,对吧?是的。除了经常使用的命令之外,我们几乎不可能记住一些很少使用的长命令。这就是为什么需要一些外部工具来帮助我们在需要时找到命令。现在让我们认识一下 “Pet”,这是一个用 Go 语言编写的简单的命令行代码管理器。


使用 Pet,你可以:


  • 注册/添加你重要的、冗长和复杂的命令片段。

  • 以交互方式来搜索保存的命令片段。

  • 直接运行代码片段而无须一遍又一遍地输入。

  • 轻松编辑保存的代码片段。

  • 通过 Gist 同步片段。

  • 在片段中使用变量

  • 还有很多特性即将来临。


安装 Pet 命令行接口代码管理器


由于它是用 Go 语言编写的,所以确保你在系统中已经安装了 Go。


安装 Go 后,从 Pet 发布页面 获取最新的二进制文件。


wget https://github.com/knqyf263/pet/releases/download/v0.2.4/pet_0.2.4_linux_amd64.zip

 

对于 32 位计算机:


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

 

对于 32 位:


unzip pet_0.2.4_linux_386.zip

 

将 pet 二进制文件复制到 PATH(即 /usr/local/bin 之类的)。


sudo cp pet /usr/local/bin/

 

最后,让它可以执行:


sudo chmod +x /usr/local/bin/pet

 

如果你使用的是基于 Arch 的系统,那么你可以使用任何 AUR 帮助工具从 AUR 安装它。


使用 Pacaur:


pacaur -S pet-git

 

使用 Packer:


packer -S pet-git

 

使用 Yaourt:


yaourt -S pet-git

 

使用 Yay:


yay -S pet-git

 

此外,你需要安装 fzf 或 peco 工具以启用交互式搜索。请参阅官方 GitHub 链接了解如何安装这些工具。


用法


运行没有任何参数的 pet 来查看可用命令和常规选项的列表。


$ 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.


要查看特定命令的帮助部分,运行:


$ pet [command] --help

 

配置 Pet


默认配置其实工作的挺好。但是,你可以更改保存片段的默认目录,选择要使用的选择器(fzf 或 peco),编辑片段的默认文本编辑器,添加 GIST id 详细信息等。


要配置 Pet,运行:


$ pet configure

 

该命令将在默认的文本编辑器中打开默认配置(例如我是 vim),根据你的要求更改或编辑特定值。


[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

~


创建片段


为了创建一个新的片段,运行:


$ pet new

 

添加命令和描述,然后按下回车键保存它。


Command> echo 'Hell1o, Welcome1 2to OSTechNix4' | tr -d '1-9'

Description> Remove numbers from output.



这是一个简单的命令,用于从 echo 命令输出中删除所有数字。你可以很轻松地记住它。但是,如果你很少使用它,几天后你可能会完全忘记它。当然,我们可以使用 CTRL+R 搜索历史记录,但 Pet 会更容易。另外,Pet 可以帮助你添加任意数量的条目。


另一个很酷的功能是我们可以轻松添加以前的命令。为此,在你的 .bashrc 或 .zshrc 文件中添加以下行。


function prev() {

PREV=$(fc -lrn | head -n 1)

sh -c "pet new `printf %q "$PREV"`"

}


执行以下命令来使保存的更改生效。


source .bashrc

 

或者:


source .zshrc

 

现在,运行任何命令,例如:


$ cat Documents/ostechnix.txt | tr '|' '\n' | sort | tr '\n' '|' | sed "s/.$/\\n/g"

 

要添加上述命令,你不必使用 pet new 命令。只需要:


$ prev

 

将说明添加到该命令代码片段中,然后按下回车键保存。



片段列表


要查看保存的片段,运行:


$ pet list

 


编辑片段


如果你想编辑代码片段的描述或命令,运行:


$ pet edit

 

这将在你的默认文本编辑器中打开所有保存的代码片段,你可以根据需要编辑或更改片段。


[[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 标志。


$ pet new -t

Command> echo 'Hell1o, Welcome1 2to OSTechNix4' | tr -d '1-9

Description> Remove numbers from output.

Tag> tr command examples


执行片段


要执行一个保存的片段,运行:


$ pet exec

 

从列表中选择你要运行的代码段,然后按回车键来运行它:



记住你需要安装 fzf 或 peco 才能使用此功能。


寻找片段


如果你有很多要保存的片段,你可以使用字符串或关键词如 below.qjz 轻松搜索它们。


$ pet search

 

输入搜索字词或关键字以缩小搜索结果范围。



同步片段


首先,你需要获取访问令牌。转到此链接 https://github.com/settings/tokens/new 并创建访问令牌(只需要 “gist” 范围)。


使用以下命令来配置 Pet:


$ pet configure

 

将令牌设置到 [Gist] 字段中的 access_token。


设置完成后,你可以像下面一样将片段上传到 Gist。


$ pet sync -u

Gist ID: 2dfeeeg5f17e1170bf0c5612fb31a869

Upload success


你也可以在其他 PC 上下载片段。为此,编辑配置文件并在 [Gist] 中将 gist_id 设置为 GIST id。


之后,使用以下命令下载片段:


$ pet sync

Download success


获取更多细节,参阅帮助选项:


pet -h

 

或者:


pet [command] -h

 

这就是全部了。希望这可以帮助到你。正如你所看到的,Pet 使用相当简单易用!如果你很难记住冗长的命令,Pet 实用程序肯定会有用。



看完本文有收获?请分享给更多人

关注「Linux 爱好者」,提升Linux技能

登录查看更多
0

相关内容

Linux 是一系列类 Unix 计算机操作系统的统称。该操作系统的核心为 Linux 内核。Linux 操作系统也是软件和开放源代码发展中最著名的例子之一。
一份简明有趣的Python学习教程,42页pdf
专知会员服务
76+阅读 · 2020年6月22日
【Manning新书】现代Java实战,592页pdf
专知会员服务
99+阅读 · 2020年5月22日
Python导论,476页pdf,现代Python计算
专知会员服务
260+阅读 · 2020年5月17日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
213+阅读 · 2020年2月21日
【新书】Python数据科学食谱(Python Data Science Cookbook)
专知会员服务
114+阅读 · 2020年1月1日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
180+阅读 · 2020年1月1日
通过Docker安装谷歌足球游戏环境
CreateAMind
11+阅读 · 2019年7月7日
手把手教你用Python做一个哄女友神器,小白可上手
网易智能菌
5+阅读 · 2019年6月15日
ISeeYou一款强大的社工工具
黑白之道
30+阅读 · 2019年5月17日
Pupy – 全平台远程控制工具
黑白之道
43+阅读 · 2019年4月26日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
CVE-2018-7600 - Drupal 7.x 远程代码执行exp
黑客工具箱
14+阅读 · 2018年4月17日
如何运用Python建一个聊天机器人?
七月在线实验室
17+阅读 · 2018年1月23日
Arxiv
3+阅读 · 2018年11月29日
CoQA: A Conversational Question Answering Challenge
Arxiv
7+阅读 · 2018年8月21日
Arxiv
4+阅读 · 2018年5月10日
Arxiv
11+阅读 · 2018年4月25日
Arxiv
6+阅读 · 2018年2月8日
VIP会员
相关VIP内容
一份简明有趣的Python学习教程,42页pdf
专知会员服务
76+阅读 · 2020年6月22日
【Manning新书】现代Java实战,592页pdf
专知会员服务
99+阅读 · 2020年5月22日
Python导论,476页pdf,现代Python计算
专知会员服务
260+阅读 · 2020年5月17日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
213+阅读 · 2020年2月21日
【新书】Python数据科学食谱(Python Data Science Cookbook)
专知会员服务
114+阅读 · 2020年1月1日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
180+阅读 · 2020年1月1日
相关资讯
通过Docker安装谷歌足球游戏环境
CreateAMind
11+阅读 · 2019年7月7日
手把手教你用Python做一个哄女友神器,小白可上手
网易智能菌
5+阅读 · 2019年6月15日
ISeeYou一款强大的社工工具
黑白之道
30+阅读 · 2019年5月17日
Pupy – 全平台远程控制工具
黑白之道
43+阅读 · 2019年4月26日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
CVE-2018-7600 - Drupal 7.x 远程代码执行exp
黑客工具箱
14+阅读 · 2018年4月17日
如何运用Python建一个聊天机器人?
七月在线实验室
17+阅读 · 2018年1月23日
相关论文
Top
微信扫码咨询专知VIP会员