Kmdr — отображение пояснений к командам CLI в терминале
Некоторое время назад мы писали о ExplainShell, веб-инструменте, позволяющем узнать, что делает каждая часть команды Linux. Он делит сложные и длинные команды Linux на несколько частей и дает пояснения к каждой части. Используя этот инструмент, новичок в Linux может узнать о различных параметрах и параметрах командной строки, не обращаясь к справочным страницам. Однако это поможет вам только изучить команды Linux. Но что, если вы хотите изучить другие команды CLI, например Python? Вы не найдете объяснений команд Python в объяснениях Shell. Не беспокойся! Сегодня я наткнулся на аналогичный инструмент под названием Kmdr, который предоставляет объяснение команд CLI для сотен программ. Это поможет вам легко изучить команды CLI, не выходя из терминала и не просматривая длинные справочные страницы. Не только команды Linux, Kmdr дает объяснение многим командам CLI, включая ansible, conda, docker, git. , go, kubectl, mongo, mysql, npm, Ruby gems, vagrant и сотни других программ, в том числе встроенных в bash.
Kmdr может понимать сложные, длинные и подкоманды. Он также будет понимать команды, которые включают в себя конвейерную обработку, перенаправление, конструкции списков и другие встроенные команды и операторы bash. Kmdr предоставит вам информацию о широком спектре программ, инструментов и утилит, перечисленных ниже.
- Встроенные функции Bash Shell (например, echo, Export, cd).
- Контейнеры (например, Docker, kubectl).
- Контроль версий (например, Git).
- Сервер и клиент базы данных (например, mysql, mongod).
- Развертывание/облако (например, теперь облако).
- Инструменты для работы с файлами и архивирования (например, zip, tar).
- Медиа (например, ffmpeg, youtube-dl).
- Сеть/коммуникация (например, netstat, nmap, curl).
- Менеджеры пакетов (например, dpkg, pip).
- Языки программирования/Среды выполнения/Компиляторы (например, go, python, node, gcc).
- Сисадмин/Мониторинг (например, crontab, вверху).
- Обработка текста (например, awk, sed).
- Текстовые редакторы (например, nano, vim).
- Разное (например, openssl, bash, bash64).
Полный список поддерживаемых программ можно просмотреть здесь. Разработчики добавляют новые программы каждый день. Следите за списком и время от времени проверяйте его.
Kmdr — бесплатная утилита с открытым исходным кодом, написанная на Nodejs.
Установите Kmdr CLI
Для Kmdr требуется Nodejs версии 8.x или выше. Если вы еще не установили Nodejs в свою систему Linux, перейдите по следующей ссылке.
- Как установить NodeJS в Linux
После установки Nodejs вы можете установить Kmdr CLI с помощью менеджера пакетов Npm, как показано ниже.
$ npm install kmdr@latest --global
Kmdr также можно использовать непосредственно из вашего веб-браузера. Никакой установки или регистрации не требуется! Просто откройте веб-браузер, перейдите по следующей ссылке и введите свою команду.
- http://demo.kmdr.sh/
Отобразить объяснение команд CLI в терминале с помощью Kmdr
Получить объяснение команды CLI очень просто! В качестве примера возьмем следующую команду.
history | awk '{print $2}' | sort | uniq -c | sort -nr | head -5
Это немного сложно понять новичкам и пользователям Linux среднего уровня. Для тех, кому интересно: приведенная выше команда отобразит самые часто используемые команды в Linux.
Если вы хотите узнать объяснение каждой части приведенной выше команды, запустите Kmdr CLI с помощью команды:
kmdr explain
Kmdr предложит вам ввести команду. Просто введите его и нажмите клавишу ENTER.
Пример вывода:
? Enter your command: history | awk '{print $2}' | sort | uniq -c | sort -nr | head -5
history
With no options, display the command history list with line numbers.
|
A pipe serves the sdout of the previous command as input (stdin) to the next one
awk
pattern scanning and processing language
{print $2}
An argument
|
A pipe serves the sdout of the previous command as input (stdin) to the next one
sort
Sort lines of text files
|
A pipe serves the sdout of the previous command as input (stdin) to the next one
uniq
Report or omit repeated lines
-c, --count
Prefix lines by the number of occurrences
|
A pipe serves the sdout of the previous command as input (stdin) to the next one
sort
Sort lines of text files
-n, --numeric-sort
Compare according to string numerical value
-r, --reverse
Reverse the result of comparisons
|
A pipe serves the sdout of the previous command as input (stdin) to the next one
head
Output the first part of files
-5
An argument
? Did we help you better understand this command? (Use arrow keys)
❯ Skip & Exit
──────────────
Yes
No
Как вы можете видеть в приведенном выше выводе, Kmdr разбивает каждую часть приведенной выше команды и дает объяснение каждой части.
В конце объяснения Kmdr попросит вас поделиться своим мнением. Вы можете выбрать Да или Нет, используя стрелку, чтобы отправить отзыв. Если вы выберете «Да», просто введите отзыв и нажмите ВВОД. Если вы не хотите делиться отзывом, просто выберите «Пропустить и выйти», чтобы выйти из Kmdr. Это так просто!
Kmdr также понимает несколько команд.
Также можно получить пояснения к командам со сгруппированными параметрами.
kmdr explain
? Enter your command: rsync -avz --exclude 'ostechnix' dir1/ dir2/
rsync
A fast, versatile, remote (and local) file-copying tool
-a, --archive
This is equivalent to -rlptgoD.
-v, --verbose
This option increases the amount of information you are given during the transfer.
-z, --compress
With this option, rsync compresses the file data as it is sent to the destination machine,which reduces the amount of data being transmitted -- something that is useful over a slow connection.
--exclude
This option is a simplified form of the --filter option that defaults to an exclude rule anddoes not allow the full rule-parsing syntax of normal filter rules.
ostechnix
An argument
dir1/
An argument
dir2/
An argument
? Did we help you better understand this command? (Use arrow keys)
❯ Skip & Exit
──────────────
Yes
No
Я привел простые примеры. Вы можете попробовать всевозможные сложные команды, включая конвейерную обработку, перенаправление, подкоманды, операторы и т. д.
Клиент Kmdr CLI очень новый и все еще находится на ранней стадии. Я надеюсь, что в ближайшие дни разработчики улучшат его, добавив больше функций. Попробуйте и поделитесь своими мыслями в разделе комментариев ниже.
Ресурс:
- Репозиторий Kmdr на GitHub
Рекомендуем прочитать:
- Ищите, изучайте и практикуйте команды Linux на лету!
- Изучите и практикуйте команды Linux онлайн БЕСПЛАТНО!
- Проверьте свои навыки BASH, играя в игры с командной строкой
- Научитесь эффективно использовать справочные страницы