Как ясно из заголовка, Cygwin представляет собой unix-подобную среду, реализованную для ОС Windows.
Cygwin включает в себя следующие основные компоненты:
- Динамическая библиотека cygwin1.dll, которая обеспечивает совместимость на уровне API и предоставляет реализацию значительной части стандарта POSIX.
- Коллекция прикладных утилит, обеспечивающих UNIX-образное окружение (включают в себя как утилиты с интерфейсом командной строки – например – утилита для безопасного удаления файлов shred, так и графическое окружение типа Gnome/KDE).
Cygwin распространяется бесплатно под лицензией GNU GPL v.2, разработкой занимаются как сотрудники Red Hat, так и сообщество добровольцев. В качестве стандартной оболочки командной строки используется Bash. Cygwin имеет встроенный эмулятор терминала, однако также для окружения существует сборка популярного легковесного unicode-терминала urxvt
Посредством Cygwin обеспечивается существенная интеграция ресурсов, данных и прикладных программ Windows с ресурсами, прикладными программами и данными Unix, что позволяет как вызывать Windows-приложения из Cygwin, так и использовать Unix-утилиты из состава Cygwin в консоли Windows.
Последние версии Cygvin (старше версии 1.7) имеют встроенную поддержку Unicode (UTF-8), при использовании Windows-утилит из Cygwin, последняя автоматически перекодирует вывод в UTF-16, применяемую в Windows по умолчанию. Таким образом, в современных версиях Cygwin отсутствуют проблемы при работе с кириллицей (ввод-вывод осуществляются корректно).
Небольшое практическое дополнение.
Для того, чтобы в Cygwin использовался файл .bashrc, расположенный в домашней директории пользователя, можно воспользоваться следующим способом –
в файл путь_куда_установлен_cygwin\etc\defaults\etc\skel\.bash_profile дописать такие строки:
# source the users bashrc if it exists
if [ -e "${HOME}/.bashrc" ] ; then
source "${HOME}/.bashrc"
fi