Привет, Хабр! В работе почти каждого, кто плотно сидит в Linux, есть один недостаток: одни и те же команды забываются с завидной регулярностью. Я, например, иногда по десять раз лезу в историю, чтобы уточнить - «так как в rsync директорию исключить, но структуру оставить?»

Можно, конечно, вести свои заметки. Можно - дрессировать Ctrl+R. А можно установить небольшую утилиту, которая будет жить в трее и выдавать нужную подсказку за полсекунды. Именно о такой утилите сегодня и расскажу - DevToolbox Cheats.

Маленькая предыстория

Вы знаете, примерно год назад я уже писал на Хабр статью - «Система персональных шпаргалок прямо в терминале». И там рассказывал, как на коленке, буквально за вечер, соорудил для себя простенькую bash-функцию cheat.

Идея была та же: я устал гуглить одни и те же команды. Тогда я сделал файлик ~/.cheatsheet, накидал туда блоков с - docker -, - git -, написал небольшой awk-парсер, который эти блоки вытаскивал. Получилась такая себе шпаргалка, которая живёт прямо в терминале. Ввожу cheat docker - и вижу свой список команд.

Это было удобно. Честно. Но… очень сыро. Текстовый файл, никакого интерфейса, команду надо выделять мышкой, да и работает только в терминале. Уровень комфорта "так себе"...

И вот, спустя время, я узнаю об этой утилите. Что интересно: мы побеседовали с автором, и у него была ровно та же боль. Только он, в отличие от меня, вёл свои шпаргалки в приватных каналах Telegram. Со временем их стало очень много, и искать нужную команду стало сложнее, чем гуглить.

Так и родился DevToolbox Cheats - из простой истории и личной боли выросла качественная утилита. С графикой, с копированием, с поддержкой всех десктопов. Над реализацией автор действительно заморочился: проект на GitHub насчитывает уже 265 коммитов (по данным 20.08.2026), а утилита активно развивается.

Что такое DevToolbox Cheats

Фактически - это кросс-десктопный менеджер шпаргалок для Linux, а с недавних пор - и для Windows. Утилита небольшая и живёт в трее или на панели: установил, запустил - и она тихо сидит в уголке. Скрипт-установщик сам создаёт ярлыки для популярных DE/WM - GNOME, KDE, XFCE и других. Кликнул - а там уже всё готово.

Из коробки идёт 100+ шпаргалок по ходовым темам: Git, Docker, Kubernetes, Bash, Ansible, Nginx, OpenSSL и ещё около 20 категорий - от базовых основ Linux до специфики вроде kubectl jsonpath или openssl san csr. Даже просто посидеть, почитать - уже интересно.

Скриншоты интерфейса приложу в скрытый текст, кому интересно - изучайте.

Скриншоты
  • GNOME (Argos):

GNOME (Argos)
GNOME (Argos)
GNOME (Argos)
GNOME (Argos)
  • KDE Plasma 5/6:

KDE Plasma 5/6
KDE Plasma 5/6
  • XFCE, MATE, Cinnamon и др.:

XFCE, MATE, Cinnamon и др.
XFCE, MATE, Cinnamon и др.
  • Windows (трей):

Windows
Windows

Основной функционал

Что лично мне в ней нравится.

Во-первых, она не привязана к конкретной среде. Утилита сама определяет окружение и адаптируется под него. В GNOME это нативный выпадающий список через расширение Argos, в KDE - полноценный виджет Plasma 5/6 со своим UI, в XFCE, MATE, Cinnamon, LXQt, Budgie, Pantheon и Deepin - аккуратные диалоги на zenity/yad. А если Вы сидите на тайловом менеджере вроде i3 или hyprland - включается терминальный режим с нечётким поиском FZF. Я пользуюсь GNOME, коллега - KDE, кто-то вообще на i3 сидит. Везде она выглядит как родная.

В самом крайнем случае можно зайти на сайт шпаргалок cheats.alteron.net - там все команды с удобным поиском, вообще ничего не устанавливая.

Во-вторых, скорость. Работает умный кеш: первая загрузка занимает пару секунд (собирается индекс), дальше список появляется меньше чем за 100 мс, переключение категорий - за 10 мс, фильтрация при поиске - за 50 мс. Никаких задержек.

В-третьих, умное редактирование. Если встроенных шпаргалок мало (а мало не бывает), автор продумал сценарий: утилита сканирует систему, находит установленный редактор из более чем 16 популярных - от VS Code до vim, neovim и nano - и открывает файл в нём. Если редактор не найден или Вы в минималистичном окружении - файл откроется в диалоге zenity. Даже в «голом» i3 Вы сможете редактировать шпаргалки без особых проблем.

В-четвертых, мелочи, которые подкупают. Есть экспорт шпаргалок в Markdown и PDF, поиск FZF с подсветкой синтаксиса через bat и генерация страниц в формате tldr.

Установка

Всё максимально просто: клонируем репозиторий и запускаем универсальный установщик.

git clone https://github.com/dominatos/devtoolbox-cheats.git
cd devtoolbox-cheats
./install.sh

Установщик сам определит Ваше окружение, поставит виджет или скрипт в панель и развернёт стартовый набор шпаргалок. Зависимости для работы почти не нужны: всё опциональное (буфер обмена для Wayland/X11, fzf, bat, zenity) установщик доставит сам. Есть и отдельная сборка для Windows в статусе бета, если кому-то нужно то же самое вне Linux.

Как добавить свои шпаргалки

Встроенная база - это отлично, но почти у каждого из нас есть личные команды, однострочники, специфичные флаги, алиасы и внутренние адреса. Здесь утилита даёт полную свободу.

Шпаргалка - это обычный файл в формате Markdown. По умолчанию утилита смотрит в папку ~/cheats.d/, где всё разбито по категориям. Хотите добавить свои - создайте свою папку и положите в неё .md-файлы. Утилита подхватит всё сама.

Допустим, у Вас есть личный набор команд для деплоя. Создаём папку my-deploy и файл deploy.md:

mkdir -p ~/cheats.d/my-deploy
nano ~/cheats.d/my-deploy/deploy.md

Тут есть важный момент. Чтобы шпаргалка правильно отобразилась в интерфейсе, в начале файла нужно указать метаданные - небольшую шапку из четырёх полей:

Title: Деплой проектов
Group: Мой деплой
Icon: 🚀
Order: 1

Где:

  • Title - название шпаргалки, которое Вы хотите видеть в списке.

  • Group - категория. Обычно совпадает с названием папки, но указывать можно любую.

  • Icon (опционально) - иконка. Подойдут любые эмодзи или системные иконки.

  • Order (опционально) - порядок сортировки в группе (от 1 до 999). Чем меньше число, тем выше в списке.

После метаданных пишем саму шпаргалку:

Title: Деплой проектов
Group: Мой деплой
Icon: 🚀
Order: 1

# Деплой проекта

## Запуск тестового стенда

...

## Перезапуск сервисов после деплоя

...

Шпаргалка готова. Никаких JSON, конфигов и баз данных - просто Markdown, который при этом умеет правильно форматировать оглавление и под Obsidian, и под GitHub. На мой взгляд, это отличный баланс между простотой и функциональностью. В репозитории есть подробный мануал по созданию собственных шпаргалок.

Синхронизация и автообновления

Встроенные шпаргалки иногда обновляются - автор добавляет новые команды или исправляет ошибки. Вручную следить за обновлениями неудобно, поэтому в проекте есть встроенная система автообновлений через systemd.

После установки создаётся таймер, который раз в день проверяет репозиторий и подтягивает только изменённые файлы. Перед этим делается бэкап, так что если что-то пошло не так - всё откатится. И важно: Ваши личные шпаргалки из папки ~/cheats.d/ и её подпапок никогда не затрагиваются. Обновляются только встроенные файлы.

Если нужно обновиться прямо сейчас, не дожидаясь таймера:

cheats-updater update

Хотите отключить автообновления? Просто отключите таймер:

systemctl --user disable --now devtoolbox-cheats-updater.timer

Вернуть обратно:

systemctl --user enable devtoolbox-cheats-updater.timer

Проверить статус последнего обновления:

systemctl --user status devtoolbox-cheats-updater.timer

Где хранить свои шпаргалки и как делиться ими в команде

Если Вы работаете в компании и у Вас есть внутренние инструменты, стандарты и какие-то специфические команды - Вы можете завести свою папку в ~/cheats.d/ и положить туда свои файлы. Назовёте её, допустим, company-internal, создадите внутри kubernetes-prod.md или deploy-scripts.md, укажете метаданные - и готово.

Дальше можно сделать так: поместить папку ~/cheats.d/company-internal/ в приватный git-репозиторий (или просто в папку на сетевом диске) - и коллеги смогут клонировать её к себе. Или ещё проще: создать свой публичный репозиторий на GitHub с собственными шпаргалками, и люди смогут сделать форк или просто скопировать их к себе. Так шпаргалки живут и актуализируются, а вся команда работает с одной и той же базой знаний.

Есть ещё один приём: если Вы хотите синхронизировать личные шпаргалки с репозиторием, можно создать отдельную ветку или даже отдельный репозиторий, а потом периодически забирать изменения. Утилита этому не помешает - она будет работать со своими файлами независимо.

Использование в особых случаях

Перед собеседованием или экзаменом. Если завтра интервью или экзамен - можно быстро пробежаться по встроенным шпаргалкам и освежить память. 100+ файлов с самыми ходовыми командами - это лучше, чем в спешке искать ответ в поисковике.

В продакшене, когда срочно нужна команда. Вы работаете в продакшн-окружении, нужна какая-то команда, а документация лежит в приватном внутреннем вики. Открываете утилиту - и вот она, прямо в трее. Единый инструмент для всех случаев жизни.

Когда нужно что-то экспортировать. Если надо отправить коллеге шпаргалки или сделать из них документацию - можно сгенерировать Markdown или PDF и отправить. Команда для экспорта обычно есть в меню.

Для новичков в команде. Вместо того чтобы составлять огромный wiki, можно показать новичку эту утилиту и сказать: «Здесь собраны все основные команды, изучайте, экспериментируйте». Так он быстрее освоится, чем при чтении документации.

Пара слов от автора

Небольшой блок комментариев от автора (@Dominatos) утилиты:

Про платформы. С Linux и Windows вопрос закрыт, а вот macOS, по идее, могла бы и заработать. Argos - это форк BitBar, а BitBar пилили как раз под Mac, но проверить не на чём. Если есть желание помочь с портированием под Mac - пишите мне, буду рад.

Про собеседования. Перед интервью я сам всегда пролистываю собственные шпаргалки. На собеседованиях обычно спрашивают самое основное, и быстрая сверка перед выходом реально экономит время и нервы.

Про честность. Пожалуйста, имейте в виду: я не профессиональный разработчик, и в софте могут быть недочёты. Разрабатывал утилиту в первую очередь для личных нужд, а поделиться с общественностью решил уже потом. Если найдёте что-то - открывайте Issue на GitHub. Заранее спасибо!

Вместо заключения

DevToolbox Cheats - тот случай, когда утилита из личной боли выросла в действительно продуманный инструмент: нативная поддержка всех основных десктопов, мгновенный отклик, огромная встроенная база и при этом ноль привязки к формату - свои шпаргалки пишутся простым Markdown.

Что особенно приятно - это не переусложнённый инструмент. Нет блокчейна, нет микросервисов, нет требования какой-нибудь базы данных. Просто скрипт, который сканирует папку с markdown-файлами и выдаёт результат в удобном виде. Такие инструменты живут долго, потому что их просто поддерживать.

Если Вы тот человек, который постоянно гуглит одно и то же - DevToolbox Cheats будет очень полезен. Если Вы работаете в команде, где нужно делиться стандартным набором команд - тем более. И если просто любите иметь всё «под рукой» - Вы поймёте.

Репозиторий: github.com/dominatos/devtoolbox-cheats
Онлайн-версия (без установки): cheats.alteron.net

Больше таких находок и разборов для тех, кто админит, - в моём канале.