Проблемът, който всички имаме
Колко пъти си си мислил: „Използвах тази команда миналия месец… но сега не мога да я си спомня?“
Или още по-лошо – знаеш, че има перфектна команда за това, което искаш да направиш, но трябва да ровиш из history, старите бележки или да гуглиш отново.
cmdctl решава този проблем веднъж завинаги.
🎯 Какво е cmdctl?
cmdctl е интерактивен мениджър за полезни команди с красив, модерен интерфейс. Това е твоята лична библиотека от команди – добре организирана, лесна за търсене и винаги под ръка.
✨ Защо ти трябва?
За системни администратори
Имаш десетки сървъри, всеки със специфични команди за backup, рестарт на услуги, проверки на логове. Вместо да търсиш документация всеки път, просто отваряш cmdctl и намираш точната команда за 2 секунди.
За DevOps инженери
Docker, Kubernetes, CI/CD pipelines – командите са сложни и с много параметри. Запазваш ги веднъж в cmdctl с ясно описание и после винаги ги имаш готови за копиране.
За мрежови специалисти
MikroTik, Cisco, firewall правила – всяка команда е важна и не може да бъде сгрешена. cmdctl ти гарантира, че винаги ще използваш правилния синтаксис.
За разработчици
Git команди, database migrations, deployment скриптове – всичко на едно място, организирано и достъпно.
🚀 Основни функции
📋 Преглед на всички команди
Виждаш цялата си колекция от команди в красиво форматиран списък. Всяка команда показва:
- Кратко име за лесна идентификация
- Описание какво прави
- Самата команда
➕ Добавяне на нови команди
Интуитивен диалог те води през процеса:
- Даваш кратко име (напр:
mikrotik-backup) - Пишеш описание (
Създаване на пълен бекъп на MikroTik рутер) - Въвеждаш самата команда (
/system backup save name=full_backup)
Готово! Командата е запазена завинаги.
🔍 Преглед на конкретна команда
Търсиш по име и получаваш детайлна информация за командата. Има опция да я копираш директно в клипборда с едно натискане.
🔎 Мощно търсене
Търси по име, описание или текст от самата команда. Например:
- Пишеш „docker“ → намираш всички Docker команди
- Пишеш „backup“ → намираш всички команди за бекъп
- Пишеш „ssh“ → намираш всички SSH свързани команди

⚡ FZF интерактивен преглед
Ако имаш инсталиран fzf, получаваш невероятно бързо fuzzy търсене с live филтриране. Пишеш няколко букви и веднага виждаш резултатите.
✏️ Директно редактиране
За напреднали потребители – отваряш файла директно в любимия си редактор (nano, vim, etc.) за бързи промени.
💡 Реални примери за употреба
Сценарий 1: Системен администратор
Имаш 15 различни SSH сървъра с различни keys и потребители.
Вместо да помниш всички комбинации или да ги търсиш в бележки,
просто отваряш cmdctl, търсиш "ssh" и копираш точната команда.
Сценарий 2: DevOps инженер
Трябва ти да почистиш Docker volumes, но командата е сложна.
Отваряш cmdctl → "docker-cleanup" → Enter → копираш командата.
2 секунди вместо 2 минути гуглене.
Сценарий 3: Мрежов специалист
Трябва да направиш backup на MikroTik конфигурацията.
cmdctl → "mikrotik-backup" → виждаш точната команда с правилния синтаксис.
Няма грешки, няма стрес.
Сценарий 4: Разработчик
Имаш сложна Git команда за rebase с конкретни параметри.
Използваш я рядко, но когато ти трябва - трябва да е точна.
cmdctl пази командата с подробно описание кога и защо я използваш.
🎨 Защо е различен?
Красив интерфейс
- Модерна цветна палитра, която не уморява очите
- Ясна структура с box-drawing символи
- Емоджита за по-лесна навигация
- Професионален вид, приятен за работа
Интелигентна организация
- Всяка команда с име, описание и самата команда
- Лесно за търсене и филтриране
- Групиране с общи префикси (напр:
docker-*,ssh-*,mikrotik-*)
Практичност
- Копиране в клипборда с едно натискане
- FZF интеграция за power users
- Работи с всеки текстов редактор
- Няма зависимости (освен опционално fzf и xclip)
Надеждност
- Валидация на входните данни
- Защита от грешки
- Ясни съобщения за всяко действие
- Стабилна работа
📥 Инсталация
Свалете и инсталирайте скрипта с една команда:
wget -O /tmp/cmdctl https://gist.fedia.eu/urocibg/2b89e73f593c463a8de5506bf89aba97/raw/HEAD/cmdctl
sudo mv /tmp/cmdctl /usr/local/bin/cmdctl
sudo chmod +x /usr/local/bin/cmdctl
След това просто напишете в терминала:
cmdctl
Опционални инструменти за по-добра функционалност:
За копиране в клипборда:
sudo dnf install xclip
# или
sudo apt install xclip
За FZF интерактивен преглед:
sudo dnf install fzf
# или
sudo apt install fzf
📁 Как работи?
cmdctl съхранява всички команди в текстов файл ~/.fedya_commands в следния формат:
#CMD: име-на-командата
#DESC: Описание какво прави
самата команда тук
Този формат е:
- ✅ Лесен за четене
- ✅ Лесен за редактиране
- ✅ Лесен за backup
- ✅ Лесен за споделяне между машини
Можеш да копираш файла на друга машина и веднага да имаш всички си команди там.
🔥 Професионални съвети
Именуване на командите
Използвай ясна система за имена:
docker-*за всички Docker командиssh-*за SSH командиmikrotik-*за MikroTik командиbackup-*за backup команди
Така лесно филтрираш по категории.
Подробни описания
Не пиши просто „backup“, а „Създаване на пълен бекъп на MikroTik рутер с включени сертификати“. След 6 месеца ще си благодариш.
Примерни данни в командите
Ако командата използва параметри, остави примерни стойности:
ssh -i ~/.ssh/id_rsa user@server_ip
# вместо
ssh -i KEY_PATH USERNAME@HOST
По-лесно е да промениш конкретни стойности, отколкото да гадаеш какво да сложиш.
Редовен преглед
Веднъж месечно отвори cmdctl и прегледай командите си. Изтрий остарели, актуализирай променени, добави нови. Това поддържа библиотеката полезна.
📊 Статистика и факти
След като използваш cmdctl няколко седмици, ще забележиш:
- ⏱️ Спестено време: 5-10 минути на ден от търсене на команди
- 🧠 По-малко стрес: Не се налага да помниш сложни команди
- ✅ По-малко грешки: Винаги използваш проверената команда
- 📈 По-добра организация: Всичко е на едно място
🎓 Случаи на употреба
Backup команди
mikrotik-backup, mysql-dump, rsync-backup-remote, etc.
SSH свързвания
ssh-connect, ssh-connect-key, ssh-copy-key, ssh-permissions-fix
Docker управление
docker-ps, docker-logs-tail, docker-cleanup, docker-compose-rebuild
Системни проверки
check-disk, check-memory, check-process, tail-log
WordPress управление
wp-permissions, wp-owner, wp-db-backup
Git операции
git-rebase-interactive, git-squash-commits, git-cherry-pick
🌟 Разширени възможности
Споделяне на команди в екип
Ако работиш в екип, можете да споделяте общи команди:
# Експорт на командите
cp ~/.fedya_commands ~/shared-commands.txt
# Импорт на чужди команди
cat ~/team-commands.txt >> ~/.fedya_commands
Backup на командите
# Backup в облак
cp ~/.fedya_commands ~/Dropbox/cmdctl-backup.txt
# Или Git репозиторий
cd ~
git add .fedya_commands
git commit -m "Updated commands"
git push
Синхронизация между машини
Използвай rsync или облачно хранилище да синхронизираш командите между различните си компютри и сървъри.
🚀 Заключение
cmdctl не е просто инструмент – това е твоят личен асистент за командния ред. Спестява време, намалява стреса и повишава продуктивността.
Веднъж като го използваш няколко дни, няма да разбереш как си работил без него.
Инсталирай го днес и започни да строиш своята библиотека от команди!
Автор:Федя Серафиев
Версия: 1.0
Лиценз: Open Source
Платформа: Linux/Unix
Език: Bash
Изисквания: Bash 4.0+, опционално fzf и xclip
🔗 Полезни ресурси
- Документация: Вградена помощ (опция 8 в менюто)
- Поддръжка: Проверявай за актуализации
- Общност: Споделяй полезни команди с колеги



