Cygwin і MSYS Ласкаво просимо з темряви до світла
Як гідні провісники вільного ПЗ, ми завжди славимо переваги Linux перед пропрієтарними ОС. Але іноді повний перехід в Linux-оточення буває неможливий. Наприклад, на роздачі в їдальні Зірки Смерті можуть бути тільки комп'ютери з Windows, і Імперія не хоче (або не може) перейти на Linux, тому що залежить від додатків на зразок Microsoft Access. І як же вам продовжувати використовувати Windows (з обов'язку) і в той же час застосовувати функціональність Linux (типу сценаріїв оболонки)?
Справа в тому, що існує пара прекрасних Linux-подібних оточень, які ви можете встановити в Windows: MSYS (Minimal System) і Cygwin (GNU + Cygnus + Windows). А як це може допомогти вам у вашій щоденній роботі на Windows-машині? Давайте поглянемо на MSYS.
Ви жодним чином не повинні припускатися помилки, вважаючи MSYS повноцінним дистрибутивом Linux. Це просто Bourne Shell. перенесений під Windows, що стало можливо завдяки порту GCC - MinGW (Minimalist GNU for Windows). На секундочку: як вам ідея - Bourne Shell для Windows.
MSYS додасть міць Bourne Shell (і всі його переваги при роботі з файлами) вашого комп'ютера з Windows. Відчуй силу!Ну ось, ви встановили MSYS - і що з ним тепер робити? А то ж саме, що і з Bourne Shell на Linux-машині. Зокрема, вас особливо вразить повна відсутність в ньому хоч якогось натяку на графічний інтерфейс. Тут все робиться з командного рядка, без будь-яких прихованих опцій і доповнень.
Так, MSYS - просто гола оболонка. Подивимося, наприклад, чи багато файлів і папок в My Documents. Для цього запустіть ваш новий Bourne Shell. одним з трьох способів:
- Виберіть MSYS в меню Windows
- Два рази клацніть на msys.bat в C: \ MSYS \ 1.0.
- Викличте MSYS набравши C: \ msys \ 1.0 \ msys в командному рядку Windows.
Потім починайте друкувати, як ніби ви знаходитесь в Linux (вам буде приємно дізнатися, що при цьому зберігається функція автодоповнення за подвійним натискання клавіші Escape):
І, звичайно ж, можна використовувати awk (або gawk) для обробки файлів на зразок expenses.csv.
Його треба зберегти в C: \ msys \ 1.0 \ msys \ home \<ваша_учетная_запись>\ Expenses. При новому старті MSYS ви зможете зробити
Cygwin вміє багато чого з того, чого не вистачає в MSYS. наприклад, додавати пакети під час установки.Припустимо, ви все-таки визнали, що MSYS для вас мізерний. Тоді, можливо, ви вирішите ознайомитися з Cygwin. Перед цим, однак, варто повторити, що Cygwin - Linux-подібне оточення, а не дистрибутив Linux, зібраний для роботи з Windows. Він фактично складається з DLL (динамічно довантажувати бібліотеки) Windows і набору інструментів для роботи з нею. І це важливо пам'ятати. Не можна взяти будь-який Linux-додаток і змусити його працювати за допомогою Cygwin. Проте, інструментів досить, щоб ваші труди окупилися.
Для вас створиться базова оболонка Bash. до якої можна звернутися одним з трьох способів:
- Двічі клацнути по іконці на робочому столі.
- Вибрати Cygwin Bash Shell в меню Windows.
- Запустити C: \ cygwin \ Cygwin.bat.
Cygwin.bat люб'язно підкаже вам, як запустити Cygwin з командного рядка Windows:
Незалежно від того, як ви маєте намір застосовувати Cygwin. ви виявите, що це дуже схоже на використання MSYS (ви також отримуєте доступ до консолі і набору команд Linux); зате базовий набір команд в Cygwin більше. Можливості Cygwin розкриваються в повній мірі в тому випадку, якщо вам необхідно додати в систему додаткову Linux-функціональність - наприклад, завдання Cron. тільки заради яких вже варто задуматися про Linux. Але ні Cygwin. ні MSYS не включають Cron за замовчуванням, і якщо ви скомандуєте
Не виключено, що повернеться помилка, але не хвилюйтеся: насправді він запустився. Перевірте це, набравши
і відредагуйте свій cron-файл:
Тепер додайте дані для вашого завдання Cron:
Натисніть Ctrl + X для запису і переконайтеся в появі у вашій домашній директорії нового файлу - завдання Cron має створити і потім щохвилини оновлювати його.
І нарешті, щоб ви не плуталися, працюючи відразу з Windows і Linux, Cygwin надає прекрасний інструмент для конвертації шляхів формату Windows в формат Linux (точніше, Unix) і навпаки:
Отже, за найкоротший термін ми перейшли від Windows-сценаріїв (фу! Бека!) До Windows + Linux-сценаріями (ура!). Але пам'ятайте - це не повноцінне рішення для запуску Linux-додатків під Windows. Правильно працюватимуть тільки додатки, скомпільовані за допомогою MinGW або Cygwin. Тим не менш, це не якийсь доморощений компроміс або безглузде вправу в техніці - це вигідне рішення для бажаючих перенести Linux-сценарії в Windows. І не давним-давно в далекій-далекій галактиці, а сьогодні і на Windows-комп'ютері поруч з вами.