> ## Content Index
> Fetch the complete content index at: https://blog.themarfa.name/llms.txt
> Use this file to discover other available public pages before exploring further.

# McFly — лучший инструмент для выполнения команд Linux из истории Bash
- URL: https://blog.themarfa.name/mcfly-luchshii-instrumient-dlia-vypolnieniia-komand-linux-iz-istorii-bash/
- Published: 2023-05-14T12:06:03.000Z
- Updated: 2023-05-14T12:06:02.000Z
- Description: Этот инструмент, созданный на основе нейросети, пришёл на замену обычному поиску по истории.
- Author: Константин Докучаев
- Tags: Linux, McFly

Пользователям Linux хорошо известна комбинация клавиш`Ctrl + R` — она применяется дляпоиска по истории команд в Bash. Зачастую, чтобы отыскать нужный фрагмент текста, ранее введённый в терминал, приходится нажимать `Ctrl + R` не раз и не два.

Впрочем, больше нет необходимости «стирать до дыр» несчастные клавиши — благодаря McFly. Этот инструмент, созданный на основе нейросети, пришёл на замену обычному поиску по истории. В своём анализе McFly опирается на рабочую директорию и недавно выполненные команды.

Для поиска по истории команд McFly использует ту же комбинацию клавиш `Ctrl + R` и имеет тот же базовый функционал, что и стандартный инструмент, но при этом улучшает его, позволяя выбрать нужную команду из списка, составленного на основе «умных» алгоритмов.

### Установите McFly в качестве альтернативы стандартному поиску по истории команд на Linux

Для того чтобы установить McFly, нужно всего лишь скачать и запустить скрипт, созданный разработчиком McFly.

![](https://storage.ghost.io/c/71/cf/71cf070c-b8aa-467e-9efd-cf18f7dcf253/content/images/2023/05/running-the-mcfly-install-script.png)

Откройте терминал и введите:

`wget https://[raw.githubusercontent.com/cantino/mcfly/master/ci/install.sh](http://raw.githubusercontent.com/cantino/mcfly/master/ci/install.sh)`

`sudo sh install.sh -- --git cantino/mcfly`

Первая команда позволяет скачать скрипт для загрузки и установки контейнера Rust, размещённого на GitHub, а вторая — использует этот скрипт для скачивания и установки McFly.

Итак, McFly установлен, но чтобы использовать его в качестве замены стандартного поиска по истории команд, потребуется также отредактировать файл **.bashrc** с помощью nano:

`nano ~/.bashrc`

…и в конце файла добавить:

`eval "$(mcfly init bash)"`

Сохраните файл и выйдите из nano, нажав `Ctrl + O`, а затем `Ctrl + X`.

Закройте терминал и снова откройте его. В следующий раз, когда вы нажмёте `Ctrl + R`, вместо стандартного поиска по истории команд будет запущен McFly.

### Используйте McFly для поиска по истории Bash

Нажмите `Ctrl + R`.На экране появится интерфейс терминала McFly с пустой командной строкой и списком из 10 наиболее вероятных команд.

![](https://storage.ghost.io/c/71/cf/71cf070c-b8aa-467e-9efd-cf18f7dcf253/content/images/2023/05/searching-bash-history-with-mcfl.png)

Если нужная вам команда есть в списке, выделите её с помощью стрелок «**Вверх/Вниз»** на клавиатуре. Нажмите **Enter** для выполнения команды.

Если вы хотите отредактировать команду перед выполнением, выделите её и нажмите клавишу **Tab**. После этого снова появится командная строка с уже введённым текстом вашей команды. Отредактируйте текст и нажмите **Enter**.

Чтобы определить, какая команда вам нужна, McFly использует простую нейронную сеть. Учитываются следующие параметры:

- Директория, в которой вы сейчас находитесь;
- Как часто вы запускаете команду;
- Насколько успешно обычно выполняется команда;
- Выбирали ли вы ранее команду в McFly и когда в последний раз её использовали.

Обычно данные алгоритмы хорошо справляются со своей работой и позволяют без труда находить нужную команду. Однако если вам всё же захочется отключить функцию McFly, нажмите **F1** — и вам снова будут отображаться последние команды, отсортированные по времени.

Если же вы захотите удалить компрометирующую вас или просто ненужную вам команду из истории, выберите её из списка и нажмите **F2**.

### Используйте терминал Linux более эффективно

Теперь, когда вы можете более эффективно искать и выполнять команды из истории Bash, пора отказаться и от некоторых других старых добрых программ из 1970-х в пользу их современных улучшенных аналогов.

Используйте **bat** вместо **cat**, **duf** вместо **df**, и **btop** вместо **top** или **htop**!