Привет, Хабр! В работе почти каждого, кто плотно сидит в 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):


KDE Plasma 5/6:

XFCE, MATE, Cinnamon и др.:

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
Больше таких находок и разборов для тех, кто админит, - в моём канале.

