Если сравнивать возможности CMD с оболочками из мира Unix — например, BASH, становятся очевидны ее ограничения. Это не удивительно — в Linux и Unix системах изначально командная строка была основным инструментом для работы и постоянно совершенствовалась, тогда как для Windows командная строка была лишь вспомогательным инструментом.
Чтобы расширить возможности командной строки Windows,.нам поможет clink. Это утилита расширяющая возможности cmd.exe. Вот некоторые ее фичи:
- Автодополнение по нажатию Tab. Возможности автодополнения могут быть расширены за счет собственных скриптов на Lua
- Вставка текста из буфера обмена по нажатию Ctrl-V
- Работа с историей команд. Возможность поиска по истории — вызывается Ctrl-R и Ctrl-S. Поддержка выражений, таких как !!, !<string> и !$
- Сохранение истории предыдущих сессий
После установки cmd себя ведет почти как bash.
Кроме этого можно добавить в Windows систему Unix утилиты — такие, как cat, ls, tail, diff, grep, less, sort, wget и другие.
Некоторые утилиты имеют свои Windows-аналоги, например, вместо grep можно использовать findstr, а некоторые аналогов не имеют и могут заметно поднять продуктивность при использовании командной строки.
Для установки утилит командной строки в Windows систему есть готовый набор программ UnxUtils. Набор включает в себя множество популярных в Unix и Linux инструментов командной строки и несколько дополнительных программ.
К дополнительным программам относятся pclip.exe и gclip.exe предназначенные для работы с буфером обмена Windows. Например вот так: pclip | sed "s/string1/string2/g" | gclip
можно заменить все вхождения string1 на string2 в тексте хранящемся в буфере обмена.
Для того чтоб получить всё это на свою Windows-машину нужно скачать архив UnxUtils.zip, распаковать его содержимое в какой-то каталог и добавить в переменную среды PATH путь к usr\local\wbin\, т.к. именно там хранятся исполняемые файлы.