Чтобы начать программировать, вам понадобятся компиляторы соответствующих языков и отладчик; пригодится также утилита make. Поэтому запустите программу установки Cygwin (setup.exe) и в диалоге Select Packages выберите следующие пакеты из категории Devel:
- gcc-core: GNU Compiler Collection (C, OpenMP)
- gcc-g++: GNU Compiler Collection (C++)
- gdb: The GNU debugger
- make: The GNU version of the ‘make’ utility
Установите их, нажав кнопку Далее.
Как в Cygwin перейти по пути заданному в стиле Windows?
Для первращения win-подобного пути в unix-style путь можно использовать утилитку cygpath.
В результате путь превратится в «/cygdrive/d/projects/some/src» и передастся как аргумент cd.
Эта статья будет полезна начинающим пользователям Cygwin. Начнем с того, что нам для начала нужно ответить на простой вопрос. Что же такое Cygwin? Cygwin — это UNIX-подобная среда и интерфейс командной строки для Microsoft Windows. В системе Microsoft Windows уже существует подобный интерфейс cmd. Вызвать командную строку можно сочетанием клавиш Win+R.
Язык Си: Cygwin — зачем и как эмулировать Linux
Но зачастую большую часть работы Windows пользователям приходится делать вручную. По другую сторону Linux пользователь уже давно написал bash-скрипт и сидит пьет пиво в сторонке от автоматизированного рабочего процесса.
Так что же мешает сделать это и в ОС Windows? Правильно, абсолютно ничего не мешает. Но для этого нужны дополнительные программы и библиотеки. Программа Cygwin расширяет возможности стандартной командной строки Windows, позволяя автоматизировать некоторые процессы и разрабатывать программы для Linux и других систем.
Программу Cygwin можно качать с официального сайта: Ссылка на 32 битную версию программы и Ссылка на 64 битную версию программы .
Выбираем нужную версию, скачиваем и запускаем исполнительный файл setup-x86.exe и setup-x86_64.exe соответственно.
Окно установки 64 битной версии программы
Окно выбор способа установки
Окно выбора пакетов
Окно установки 32 битной версии программы выглядит точно так же как и 64 битной. Следующим шагом будет окно выбора. Откуда устанавливать или скачивать программу. Всего есть три варианта. Первый вариант Install from Internet (downloaded files will be kept for future re-use) установка из интернета причем загруженные файлы будут храниться до следующего повторного использования.
Второй вариант Download Without Installing скачать без установки. Третий вариант Install from Local Directory установка из локального каталога. Т.к. у нас нет локальной копии и нам нужно установить то выбираем первый вариант. Следующее окно будет выбор пути установки. Рекомендую выбрать системный диск, к примеру у меня путь установки Cygwin это C:cygwin64.
Следующее окно это выбор пути где будут храниться временный файлы которые будут скачиваться в процессе установки. У меня это C:cygwin64package. Потом нужно выбрать как скачивать через прокси или напрямую. Следующим шагом будет выбор репозитория скачки выбираем любой попавшийся или тот что по умолчанию и жмем Далее.
После нажатия кнопки далее начнется процесс скачивания основных конфигов. Следом вы сможете выбрать что устанавливать. Чтобы выбрать пакет нужно нажать Skip около названия пакета. Список пакетов которые вам пригодятся:
- gcc-core (в разделе Devel)
- gcc-g++ (в разделе Devel)
- make (в разделе Devel)
- cmake (в разделе Devel)
- automake (в разделе Devel)
- wget (в разделе Web)
- libiconv (в разделах Devel и Libs)
- openssh (в разделе Net)
- nano (в разделе Editors)
- bash (из раздела Base)
- base-cygwin (из раздела Base)
- base-files (из раздела Base)
- cygwin (из раздела Base)
- file (из раздела Base)
- gzip (из раздела Base)
- login (из раздела Base)
- mintty (из раздела Base)
- openssl (из раздела Base)
- run (из раздела Base)
- tar (из раздела Base)
- vim-minimal (из раздела Base)
- cron (из раздела Admin)
- shutdown (из раздела Admin)
- git (все пакеты из раздела Devel)
Мне не симпатизировал ни цвет фона, ни встроенный шрифт и цвет текста поэтому я кастомизировал его. На этих словах я закончу эту статью.
Проста и в принципе всем хороша. Только вот версия Git, там не самая свежая, по крайней мере сейчас. Но ее вполне достаточно для повседневной работы с Git. Если мы посмотрим версию, то увидим:
$ git —version
git version 1.9.5.msysgit.0
Но если вдруг надо что-то более свежее, то можно установить Git из пакетов Cygwin . Для этого естественно нужно установить и сам Cygwin. В этом нет ни чего сложного. Идем сюда и качаем установщик. Это именно установщик
, а
не дистрибутив
. Так как он качает все пакеты из сети. И кроме того, его же надо использовать чтобы обновить установленные пакеты или установить новые.
И запускаем установщик
Делай раз, два, три
В любом случае, если что-то потом понадобится, то можно скачать и установить. Как видим версия Git в данном пакете 2.1.4, что уже явно посвежее 1.9.5. Хотя под Linux и Mac OS X уже доступен 2.3.1.
На всякий случай приведу еще парочку быстрых серверов для загрузки
Этот вообще просто сказка
Ну вот все и установилось
Запускаем и видим что при первом запуске нам сообщают где находятся конфигурационные файлы:
На рисунке справа видно где находится домашний каталог пользователя. Это папка установки (в моем случае C:cigwin64
), далее папка
home
, затем
папка с именем пользователя
и в ней уже файлы конфигов
.bashrc
,
.bash_profile
,
.inputrc
и
.profile
.
Вся конфигурация терминала делается в этих файлах. Тут описывать это не буду, так как это большая отдельная тема.
Замечу лишь что основные настройки bash делаются в файле .bash_profile
Так же можно отметить, что в домашнем каталоге так же будет размещаться и файл настроек Git – .gitconfig
Кроме того, настроить внешний вид терминала можно кликнув по иконке терминала в левом верхнем углу и выбрав Options.
Если вам нужны какие-то дополнительные пакеты для Cygwin, то поискать их можно .
После всех настроек мое окно терминала Cygwin выглядит так. И тут же посмотрим версию установленного Git.
Ну вот у нас и полноценный Git. Теперь (быстренько) проверим его работу на реальном репозитории.
P.S. Что еще раз стоит отметить, так это то, что глобальные и системные (global, system) настройки msysGit и Git установленного из Cygwin хранятся в разных местах, и друг другу ни как не мешают и не перекрывают, на мой взгляд это удобно, поскольку все виндовые тулзы пытаются записать свои настройки в глобальный файл настроек.gitconfig и это может, иногда, создавать не удобства и путаницу.
Вам когда-нибудь приходилось после linux’а пользоваться командной строкой Windows? Мне, да. Очень не привычно. Многие команды называются по-другому. Например, аналог ls в Windows это dir. Стилистика передачи аргументов у местного интерпретатора другая. А многих возможностей, которые дают линуксовые утилиты тут просто нет.
Как-же получить аналогичную linux среду в windows? Это можно сделать установив Cygwin.
Знакомство с развернутой системой
Во-первых у cygwin по-умолчанию устанавливается свой эмулятор терминала, с которым работать по-удобнее, чем с командной строкой Windows.
Тут у нас первые проблемы. Как видите, windows утилиты, в том числе и cmd.exe печатают текст в oem-866, а эмулятор cygwin читает текст в utf-8. Если переключить кодировку на 866 кодовую страницу, то последствия этого действия еще хуже.
cygwin интерпретировал русскоязычное имя в unicode кодировке, как строку в 866 кодировке и в итоге решил создать новую директорию /home/╨Ф╨╝╨╕╤В╤А╨╕╨╣. Так что лучше все оставить как было и, при возможности обходиться cygwin утилитами. В случае, если вам нужно запустить командную оболочку без эмулятора терминала, запустите пакетный файл Cygwin.bat. В данном случае, cygwin установлена в папке C:cygwin64. Узнать преобразуются пути из unix-path в windows пути нам поможет утилита cygpath. $ cygpath -w `pwd` C:cygwin64homeДмитрий
$ cygpath -w / C:cygwin64
$ cygpath «C:cygwin64homeДмитрий» /home/Дмитрий А как получить доступ к диску C:, если все пути транслируются в C:cygwin64. Все просто. В дирректории /cygdrive есть точки монтирования, которые по имени соответствуют томам windows. $ cygpath «C:» /cygdrive/c
$ cygpath -w /cygdrive/c/somedir C:somedir Cygpath так-же успешно транслирует обращения к этой точке монтирования в Windows пути. Кстати, существование такой утилиты как cygpath показывает, почему с cygwin вы, при возможности, должны пользоваться только ее утилитами. Если, вам нужно запустить java VM, а она понимает только Windows пути, вам придется cygwin путь преобразовать при запуске: $ java -jar `cygpath -w «/opt/some.jar»` Из этого следует, что многие скрипты из linux’а нельзя просто взять и запустить в windows. Нужно иногда постараться перенести скрипт. Более того, не все утилиты командной строки будут работать.
Больше возможностей
SSH
Вы можете поставить клиент и сервер OpenSSH — это позволит вам получить удаленный доступ к командной оболочке bash, с другого компьютера или, даже с телефона, например, с помощью JuiceSSH . Так-же вы получите удаленный доступ к своим файлам по протоколу SFTP(хотя на винде проще расшарить каталог, доступный по SMB).
Программирование
В комплект входят известные компиляторы, такие как Clang или GCC, интерпретаторы языков Python, Perl, PHP, Ruby и др. Вы можете собрать POSIX-совместимые программы под винду.
Текстовые редакторы
Интерактивные редакторы — vim, nano, emacs. Не интерактивные редакторы, подходящие для использования в скриптах — sed, awk.
Итог
Если вы скучаете по возможностям linux в винде, возможно, стоит поставить эту штуку себе.
Если вы иногда все же используете операционную систему от Microsoft, вам, наверное, очень нужны некоторые утилиты Linux в windows. Было бы очень удобно использовать стандартные утилиты командной строки для фильтрации вывода, сортировки, фильтрации и потокового редактирования, в Windows, где такие функции не поддерживаются.
Для реализации этого есть несколько решений. В этой статье мы рассмотрим только два из них. Первое, о котором вы, возможно, уже слышали, а может, уже и используете — Cygwin. Второе, нечто более интересное и новое — Cash. Начнем с Cygwin. В последней версии Windows 10 появилось и третье решение — возможность нативно, с помощью специальной подсистемы.
Об этом читайте в отдельной статье.
Cygwin — это набор инструментов, обеспечивающий Unix подобную среду в Windows. Здесь нельзя запускать уже существующие утилиты для Linux. Для того чтобы выполнить linux команду из Windows Cygwin, ее нужно сначала перекомпилировать.
Тем не менее пересобрано уже достаточно много программного обеспечения. Cygwin даст вам Linux подобную среду со многими утилитами, к которым вы уже привыкли в Linux. Его можно использовать как для стандартных утилит таких как команда cp windows, так и для подключения к удаленному серверу по ssh.
Установка Cygwin
Как и другие программы Windows, Cygwin устанавливается с помощью установщика в формате.exe. Скачать его можно на официальном сайте.
Для установки вам придется пройти несколько шагов мастера, по умолчанию программа будет установлена в C:Cygwin:
С установочным пакетом не поставляется полный набор окружения. Оно будет загружено в процессе установки. В этом окне нужно выбрать сервер для загрузки компонентов:
Затем необходимо выбрать пакеты, которые нужно загрузить и установить. Доступно довольно-таки много программ и они рассортированы по категориям. Если вы не знаете нужен ли вам тот или иной пакет, оставьте значение по умолчанию. Вы сможете установить их потом:
Осталось только нажать Next для начала загрузки и завершения установки.
Добавление Cygwin в Path
После завершения установки, чтобы выполнить команды linux в windows с максимальным удобством, желательно добавить папку с исполняемыми файлами Cygwin в переменную среды Path.
Вы можете запустить терминал Cygwin, кликнув по ярлыку на рабочем столе. Откроется терминал с папкой C:Cygwinbin
Здесь можно выполнять все нужные linux команды в windows, но вы не сможете их выполнить в другой директории или другом терминале.
Чтобы решить эту проблему, необходимо добавить папку Cygwin в переменную Path. Откройте окно свойства системы с помощью сочетания клавиш Win+Pause/Break,
затем выберите пункт
Дополнительные параметры системы
на левой панели:
На вкладке дополнительно выберите Переменные среды
Найдите в списке переменную Path и нажмите Изменить
Добавьте в конец строки вот такую запись:
Обратите внимание, что все пути должны быть разделены точкой с запятой. Осталось нажать Ок
и тестировать выполнение Linux команд в Windows.
Пишем и компилируем программу на C
Я создаю в папке clearning/helloworld файл main.c:
cd ~/clearning/helloworld touch main.c
Открываю main.c любым текстовым редактором и пишу в него следующий код:
#include int main()
gcc -o hello.exe main.c
В результате в папке появляется исполняемый файл hello.exe, который я могу запустить:
На экране я увижу строку Hello, World! Подробную информацию об использовании компилятора gcc можно найти в книге Peter Prinz, Tony Crawford — C in a Nutshell The Definitive Reference, 2nd Edition — 2015 Chapter 19. Compiling with GCC.
Выводы
Как я уже говорил, проект Cash еще на стадии разработки и есть вероятность что вы столкнетесь с ошибками. Не забудьте сообщить о найденных ошибках разработчикам, чтобы помочь улучшить проект. Если для вас критична стабильность лучше использовать старый добрый Cygwin.
Нам, пользователям Linux нечасто понадобиться использование unix команд в windows и такие инструменты. Мы можем использовать Linux команды напрямую в нашей системе. Но если вы по каким-либо причинам не можете установить Linux, и все же хотите использовать linux команды, это может быть отличным решением.
Пишем и компилируем программу на C++
Я создаю в папке cpplearning/helloworld файл main.cpp:
cd ~/cpplearning/helloworld touch main.cpp
Открываю main.cpp любым текстовым редактором и пишу в него следующий код:
#include int main()
g++ -o hello.exe main.cpp
В результате в папке появляется исполняемый файл hello.exe, который я могу запустить:
На экране я увижу строку Hello, World!
cygwin1.dll —> PATH
Программы, которые вы копилируете в cygiwin автоматически линкуются с библиотекой cygwin1.dll. Библиотека эта, согласно оф. сайту «provides substantial POSIX API functionality», т. е. заменяет вашей программе POSIX’ные системные вызовы. Из командной строки cygwin вы можете запустить свою программу без проблем, а вот скажем из проводника Windows или из командной строки cmd.exe у вас ее запустить просто так не получится — Windows не сможет найти библитеку cygwin1.dll, так как не знает где та лежит. Поэтому, чтобы все работало, добавьте путь к папке, где лежит cygwin1.dll (например у меня это C:cygwin64bin) в переменную окружения PATH.
История
Работа над проектом Cygwin была начата в 1995 году Стивом Чемберленом (англ. Steve Chamberlain), программистом Cygnus, заметившим, что Windows NT и Windows 95 используют в качестве формата объектных файлов формат COFF. К тому времени в GNU уже была реализована поддержка архитектуры x86, COFF, а также библиотека языка C newlib; таким образом, по крайней мере теоретически, не представляло затруднений получить из GCC кросс-компилятор, который бы создавал исполняемые файлы Windows. Это оказалось несложным и на практике. Вскоре появился прототип.
Следующим шагом было заставить компилятор работать в Windows, но для этого была необходима эмуляция многих функций Unix: к примеру, должен был работать скрипт GNU configure. Этот скрипт нуждается в оболочке типа bash, которая, в свою очередь, требует наличия стандартных потоков ввода-вывода и системного вызова fork. Windows располагает подобными функциональными возможностями, и библиотека Cygwin лишь транслирует вызовы, исходящие от программ, управляя определёнными видами данных, такими как файловые дескрипторы.
В 1996 году к проекту Cygwin присоединились и другие программисты, так как стало очевидным, что Cygwin сделает возможным использование инструментов Cygnus на системах с Windows (до этого намечалось использовать DJGPP). Этот вариант был особенно привлекательным, ведь кросскомпиляция могла бы производиться в трёх направлениях: можно было использовать мощную станцию Sun для сборки Windows-кросскомпилятора MIPS, что позволяло значительно экономить время. С 1998 года Cygnus предлагает пакет Cygwin в качестве самостоятельного продукта.
Источник: android-mob.ru
Cygwin
Cygwin — программа-эмулятор, позволяющая запускать приложения для ОС Linux в среде Windows.
Скачать для Windows
Скачайте последнюю версию Cygwin 3.1.7 с помощью MultiSetup или по прямой ссылке. Программа совместима с операционными системами Windows 10, 8, 7, Vista, XP разрядностью 32/64-bit, размер установочного файла — 26.4 Мб. Данный программный продукт разработан Cygwin Team и распространяется бесплатно. Также вы можете скачать программу с официального сайта.
Описание программы
Cygwin — программное обеспечение, являющееся эмулятором ОС Linux для компьютеров, на которых установлена операционная система Windows. ПО могут использовать и новички, и профессиональные системные администраторы. Cygwin станет полезным и программистам, которые разрабатывают кроссплатформенное ПО. Так, с помощью эмулятора можно быстро проверить работоспособность кода в другой среде.
Эмулятор упрощает перенос приложений из Unix и Linux в системы Windows. Например, без проблем переносятся программы KDE и GNOM. Также здесь можно компилировать программы для Linux-систем, а из самой среды Cygwin запускать Windows-приложения, в том числе командную строку.
Программа включает в себя библиотеку DLL и набор инструментов, которые обеспечивают полноценную Linux-среду для разработчика. Также в эмуляторе представлены базовые функции API POSIX.
Преимущества и недостатки
- Подходит для знакомства с Linux
- Можно использовать для компиляции программ
- Набор дополнительных GNU-утилит
- Сложна в освоении
Источник: ktonasoft.ru
Cygwin — оболочка UNIX для Windows
Cygwin — UNIX-подобная среда и оболочка командной строки для Microsoft Windows.
Cygwin связывает ресурсы Windows с ресурсами UNIX-подобной среды. Из среды Cygwin можно запускать приложения Windows, также в Windows можно использовать инструменты Cygwin.
Я использую Cygwin для компиляции приложений Linux под Windows, поскольку Cygwin позволяет переносить утилиты UNIX в Windows без особых изменений исходного кода.
В Windows уже есть такая штука как WSL, в некоторых случаях можно использовать привычную Linux среду в виртуальных машинах. Однако, Cygwin имеет некоторые преимущества.
- Предоставляет оболочку UNIX для Windows с готовым набором утилит UNIX/Linux и Windows.
- Нет нужды разворачивать виртуальную машину и настраивать её, просто используем инсталлятор.
- Тратит меньше ресурсов чем виртуальная машина.
- Подходит для тестирования и разработки приложений UNIX/Linux в Windows.
- Совместима со старыми версиями Windows.
Установка Cygwin
Скачиваем инсталлятор. Есть 32-битная и 64-битная версии.
Есть три варианта установки. По умолчанию выбрана установка из Интернет, оставляю её. Продвинутые пользователи могут воспользоваться другими вариантами, если у них есть локальный репозиторий или просто требуется скачать пакеты без установки. Далее.
Выбираем путь установки. Я оставляю значение по умолчанию C:cygwin64. Буду устанавливать для всех пользователей. Далее.
Папка для скачиваемых файлов. Далее.
В большинстве случаев для загрузки пакетов следует использовать параметр Using System Proxy Settings. Если требуется использовать другие параметры подключения к Интернет, то указываем их. Далее.
Выбираем зеркало для загрузки пакетов. Желательно выбирать ближнее с географической точки зрения, это влияет на время установки. Далее.
Инсталлятор предоставляет множество утилит на базе UNIX/Linux, работающих под управлением Windows. Не все пакеты устанавливаются по умолчанию. Нужно ответственно подойти к задаче и установить то, что требуется именно вам. Мне нужны пакеты для разработки, указываю Devel — Install. Далее.
Инсталлятор начинает скачивать с зеркала пакеты. Процесс может быть долгим.
После загрузки пакетов они устанавливаются.
После завершения установки можно создать значок на рабочем столе и в меню Пуск. Готово.
Теперь можно запустить Cygwin.
Если пакетов не хватает не работает, можно повторно запустить программу установки и выбрать отсутствующий пакет. Документация доступна здесь:
Источник: internet-lab.ru