Сложно запоминать команды Linux. Мы наизусть знаем те, которые используются для повседневных задач, но склонны забывать длинные команды и скрипты, которые выполняли в прошлом.
Было бы здорово иметь какую-нибудь подсказку. Это бы позволило сосредоточиться на решаемой задаче, а не пытаться запомнить команды.
Я собрала три удобных инструмента, которые помогут с использованием команд Linux. С их помощью вы с легкостью сможете решать такие задачи, как поиск команды из истории, прямое выполнение однострочников из памятки и так далее.
Приступим!
1. Peco
Peco — это простой в использовании интерактивный инструмент фильтрации. Он похож на grep
, но имеет больше возможностей, поскольку позволяет печатать в процессе поиска.
Peco может пригодиться во многих случаях. Представьте, что хотите найти файлы, логи, процессы и так далее. С ним вам не нужно запоминать сложные комбинации команд. Достаточно совместить основную команду (например, ls
, history
, find
и так далее) с peco
. После этого достаточно начать вводить имя команды, и Peco отфильтрует по ней результаты.
Установка
Для установки Peco под Ubuntu выполните:
sudo apt-get install peco
Подробности читайте в документации.
Демо
В качестве примера мы отфильтруем историю, чтобы найти, какие команды curl
выполнялись в прошлом. Выглядеть это будет так:
Как вы могли заметить, он поддерживает запросы в стиле AND
. Я ввел “medi” после команды curl
, и инструмент нашел в результатах curl https://medium.com. Таким образом можно быстрее получать более точные результаты.
Для выхода из окна запроса нажмите Ctrl + C
.
Разберем еще один пример, где мы совмещаем peco
и netstat
, чтобы отфильтровать порты:
Это может пригодиться, если вы точно не знаете, какие процессы ищете. Их можно запрашивать интерактивно.
Peco поддерживает следующие виды фильтров: IgnoreCase
, CaseSensitive
, SmartCase
, Regexp
и Fuzzy
. Предустановленный не чувствителен к регистру (IgnoreCase
). Чтобы это изменить, выполните peco
с опцией initial-filter
.
2. HSTR
HSTR упрощает поиск по истории команд. Этот инструмент представляет улучшенную версию автодополнения команд из истории в bash
/zsh
.
Он не только помогает находить ранее использованные команды, но также позволяет добавлять их в избранное. В результате вам не придется вводить и запоминать длинные команды.
Установка
Для установки HSTR под Ubuntu выполните:
sudo apt-get install hstr
Руководство по установке для других дистрибутивов.
Демо
Для начала поиска введите в терминале hstr
или hh
.
Фильтр может быть как чувствителен к регистру, так и нет. Для переключения между этими режимами используйте Ctrl + T
.
К примеру, поиск в истории pip3
выполняется так:
Для выхода из hstr
нажмите Ctrl + C
.
Мощной функцией этого инструмента является его возможность отмечать команды как избранные. Для этого достаточно выбрать интересующую команду и нажать Ctrl + F
. В дальнейшем сохраненные команды можно просматривать с помощью опции -f
.
Комбинация Ctrl + R
удаляет команду из избранного.
Чтобы определенные команды не отображались в истории, можно добавить их в черный список. Для начала нужно активировать следующую опцию:
export HSTR_CONFIG=blacklist
Далее мы можем добавить список команд, начиная с завершающей пустой строки:
nano ~/.hstr_blacklist
cd
pwd
ls
Вывод команд из черного списка:
$ hstr --show-blacklist
Hstr имеет очень много настроек. Рекомендую ознакомиться с этими примерами для лучшего понимания.
3. Navi
Navi — это интерактивный инструмент, который позволяет выполнять однострочные команды из памяток. Такие памятки вы можете как написать сами, так и взять готовые из репозиториев Git. Имейте ввиду, что файлы должны быть в формате .cheat
. Пример можете найти в этом репозитории.
Navi полезен, когда вы не хотите запоминать сложные команды. Он запоминает множество удобных однострочных команд, что позволяет сократить объем печати при работе.
Установка
В этом примере я установлю Navi с помощью curl
:
bash <(curl -sL https://raw.githubusercontent.com/denisidoro/navi/master/scripts/install)
Имейте ввиду, что Navi необходим инструмент fzf. Установить его можно с Git следующим образом:
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
Демо
По умолчанию в Navi памяток нет, так что мы их добавим:
navi repo add https://github.com/denisidoro/cheats
Введите navi
в терминале и начните поиск команд:
Как видно из примера, он знает сотни готовых команд.
Если вы захотите удалить образ Docker, он покажет все текущие образы, чтобы не пришлось их долго искать. Просто выберите нужный, нажмите Enter
, и он тут же выполнит команду docker rm [image]
.
Navi также позволяет устанавливать аргументы для команды, которую вы собираетесь выполнять. Предположим, вы хотите переименовать репозиторий Git. Найдите необходимую команду git
в интерактивном окне и добавьте аргументы:
Как видите, этот инструмент надежен и удобен.
В данном руководстве вы познакомились с тремя мощными инструментами Linux, упрощающими управление командами.
Теперь вы знаете, как запрашивать команды, более эффективно фильтровать историю и быстро выполнять однострочники.
Читайте также:
- Вспомнить все: 6 уникальных, но подзабытых утилит Linux
- 5 визуально эффектных программ для командной строки
- Топ 10 лучших дистрибутивов Linux в 2018 году
Читайте нас в Telegram, VK и Дзен
Перевод статьи Kirshi Yin: 3 Interactive Command Tools for Linux