Pet:一个简单的命令行片段管理器
创始人
2024-03-01 22:49:04
0

我们不可能记住所有的命令,对吧?是的。除了经常使用的命令之外,我们几乎不可能记住一些很少使用的长命令。这就是为什么需要一些外部工具来帮助我们在需要时找到命令。在过去,我们已经点评了两个有用的工具,名为 “Bashpast” 和 “Keep”。使用 Bashpast,我们可以轻松地为 Linux 命令添加书签,以便更轻松地重复调用。而 Keep 实用程序可以用来在终端中保留一些重要且冗长的命令,以便你可以随时使用它们。今天,我们将看到该系列中的另一个工具,以帮助你记住命令。现在让我们认识一下 “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

此外,你需要安装 fzfpeco 工具以启用交互式搜索。请参阅官方 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 实用程序肯定会有用。

干杯!


via: https://www.ostechnix.com/pet-simple-command-line-snippet-manager/

作者:SK 译者:MjSeven 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

如何查看CentOS系统中...
掌控你的系统核心:CentOS查看CPU与内存信息指南 作为服务器...
2025-06-03 07:40:48
【云原生】k8s集群命令行...
kubectl应用部署命令详解一、准备工作1.1、Replicat...
2025-06-01 06:37:18
Raspbian命令行安装...
Raspbian命令行安装desktop界面1. 源由 & 介绍1...
2025-05-28 14:03:46
微软开源 Edit 命令行...
IT之家 5 月 20 日消息,微软昨日(5 月 19 日)发布博...
2025-05-20 08:16:36
CentOS Bash S...
CentOS Bash Shell:从入门到高效操作的全面指南 B...
2025-05-09 06:17:17
在CentOS系统执行纯文...
对于需要在服务器或低配置设备上部署操作系统的用户来说,选择文本模式...
2025-04-21 06:17:42

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...