Поиск по сайту:

Pet — простой менеджер фрагментов командной строки

Мы не можем запомнить все команды, верно? Да. За исключением часто используемых команд, практически невозможно запомнить некоторые длинные команды, которые мы используем редко. Вот почему нам нужны внешние инструменты, которые помогут нам находить команды, когда они нам нужны. Ранее мы рассмотрели две полезные утилиты под названием Bashpast и Keep. Используя Bashpast, мы можем легко добавить команды Linux в закладки для облегчения повторного вызова. Кроме того, утилиту Keep можно использовать для хранения некоторых важных и длинных команд в вашем терминале, чтобы вы могли использовать их по требованию. Сегодня мы рассмотрим еще один инструмент из этой серии, который поможет вам запоминать команды. Встречайте Pet — простой менеджер фрагментов командной строки, написанный на языке Go.

Используя Pet, вы можете;

  • Зарегистрируйте/добавьте важные, длинные и сложные фрагменты команд,
  • Интерактивный поиск сохраненных фрагментов команд,
  • Запускайте фрагменты напрямую, без необходимости вводить их снова и снова.
  • Легко редактируйте сохраненные фрагменты команд,
  • Синхронизируйте фрагменты через Gist,
  • Используйте переменные в фрагментах,
  • И еще впереди.

Установка менеджера фрагментов командной строки Pet

Поскольку он написан на языке Go, убедитесь, что Go установлен в вашей системе.

  • Как установить язык Go в Linux

После установки языка Go скачайте последние двоичные файлы со страницы выпусков.

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, например 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

Настроить питомца

Он отлично работает со значениями по умолчанию. Однако вы можете изменить каталог по умолчанию для сохранения фрагментов, выбрать используемый селектор (fzf или peco), текстовый редактор по умолчанию для редактирования фрагментов, добавить данные идентификатора GIST и т. д.

Чтобы настроить 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

Добавьте команду и описание и нажмите Enter, чтобы сохранить их.

Command> echo 'Hell1o, Welcome1 2to OSTechNix4' | tr -d '1-9'
Description> Remove numbers from output.

Это простая команда для удаления всех чисел из вывода команды echo. Вы можете легко это запомнить. Но если вы используете его редко, вы можете полностью забыть о нем через несколько дней. Конечно, мы можем искать в истории, используя «CTRL+R», но «Pet» гораздо проще. 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

Добавьте описание во фрагмент команды и нажмите Enter, чтобы сохранить.

Фрагменты списка

Чтобы просмотреть сохраненные фрагменты, запустите:

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

Выберите из списка фрагмент, который вы хотите запустить, и нажмите Enter, чтобы запустить его.

Помните, что для использования этой функции вам необходимо установить fzf или peco.

Фрагменты поиска

Если у вас много сохраненных фрагментов, вы можете легко найти их, используя строку или ключевое слово, как показано ниже.

pet search

Введите поисковый запрос или ключевое слово, чтобы сузить результаты поиска.

Синхронизировать фрагменты

Сначала вам необходимо получить токен доступа. Перейдите по этой ссылке https://github.com/settings/tokens/new и создайте токен доступа (нужна только область «суть»).

Настройте Pet с помощью команды:

pet configure

Установите для этого токена значение access_token в поле [Gist].

После настройки вы можете загрузить фрагменты в Gist, как показано ниже.

$ pet sync -u
Gist ID: 2dfeeeg5f17e1170bf0c5612fb31a869
Upload success

Вы также можете загрузить фрагменты на другой компьютер. Для этого отредактируйте файл конфигурации и установите для Gist ID значение gist_id в [Gist].

Затем загрузите фрагменты с помощью команды:

$ pet sync
Download success

Более подробную информацию можно найти в разделе помощи:

pet -h

Или,

pet [command] -h

Как видите, использование Pet довольно простое и удобное! Если вам трудно запоминать длинные команды, утилита Pet определенно может оказаться полезной.

Рекомендуется прочитать:

  • Применяйте теги к командам Linux, чтобы легко извлекать их из истории
  • Легкий вызов забытых команд Linux с помощью Apropos

Ресурс:

  • Страница Pet на GitHub

Статьи по данной тематике