Cygwin: Введення. Як виконати Linux команду з Windows Установка cygwin windows 10

Проста й у принципі всім хороша. Тільки ось версія 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:\cygwin64\home\Дмитро

$ cygpath -w /
C:\cygwin64

$ cygpath "C:\cygwin64"
/

$ cygpath "C:\cygwin64\home\Дмитро"
/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 у вінді, можливо, варто поставити цю штуку собі.

Для того щоб писати програми під Unixне обов'язково його встановлювати (під словом Unixя буду передбачати все *nixсистеми). Це твердження звучить досить парадоксально, але це дійсно так, і в даній статті я спробую вас у цьому переконати.

Якщо ви не є істинним Unix-гуру, то для того, щоб написати пару додатків під цю ОС або скомпілювати існуючі програми вам зовсім не потрібно встановлювати Unix. Для цих цілей чудово підійде емулятор Unix. Існує багато чудових програм, які чудово справляються з цим завданням, наприклад: UWin, MinGW, Cygwinта ін.

Для компіляції простих програм підійде та MinGWАле для більш складних він не придатний. Uwinє більш просунутим емулятором, але його функціональність значно поступається іншому більш популярному емулятору Cygwin.

Cygwin- це дуже функціональний, безкоштовний емулятор Unix. Він поширюється як одного-єдиного файла ( setup.exe), нехай вас не вводить в оману розмір цього файлу ( ~300 kb), це не сам Cygwin, А тільки його інсталятор. Всі необхідні утиліти та бібліотеки доведеться завантажувати окремо в процесі установки, або вказати як джерело локальний каталог, якщо необхідні файли у вас вже є.

Cygwinвключає в себе безліч різноманітних утиліт і бібліотек, багато з яких вам напевно ніколи і не знадобляться, але при установці Cygwinдозволяє вибрати лише потрібні вам компоненти. Таким чином, якщо ви хочете лише скомпілювати програму, то вам буде достатньо встановити компілятор GCC, набір необхідних бібліотек та утиліту make. Особисто я встановив усі програми, оскільки Cygwinдозволяє легко "позбутися" їх у будь-який час. Насправді Cygwinскладається всього з одного файлу cygwin1.dll, все інше є програмними пакетами GNU, спеціально перекомпільованими для роботи з Cygwin.



Думаю, що із встановленням проблем не виникло. Тепер давайте розберемо кілька тонкощів у налаштуванні та у використанні Cygwin. Після встановлення структура папки, в яку була інстальована програма, нагадуватиме структуру *nixсистеми. Для того, щоб запустити Cygwinдостатньо запустити BAT-файл, cygwin.bat, який розташований у кореневому каталозі Cygwin(під кореневим каталогом будемо мати на увазі папку, в яку проінстальовано Cygwin, надалі відлік вестимемо саме з цього каталогу). Після запуску BAT-файлперед вами постане консольна програма. Це і є той самий Bash, який є сполучною ланкою між Unixі Windows. Bash- це не просто аналог cmd.exe. Bash- це повноправна мова програмування, якою можна писати скрипти для виконання різних завдань. Саме цим він докорінно відрізняється від cmd.exe (command.com).

Запрошення Bash, практично не відрізняється від cmd.exe (~ - означає ваш домашній каталог). Тут немає логічних дисків (A, C, D тощо), відлік ведеться від кореневого каталогу позначаемого " / Також необхідно пам'ятати, що регістр тут має значення, так що Etcі etc- два абсолютно різні каталоги. Давайте спробуємо перейти до кореневого каталогу, для цього достатньо виконати знайому вам команду. cd /" (~ повинна змінитись / ). Після цього наберіть команду dir", або" ls", Для того щоб переглянути вміст кореневого каталогу. Думаю, що зараз вам стало зрозуміло, що таке кореневий каталог.





Описати всі команди в цій статті я не можу, тому перейдемо відразу до найважливішого етапу, власне для якого ми і встановили Cygwin. Спробуємо скомпілювати якусь програму. Для компіляції я вибрав програму Htop(http://freshmeat.net/projects/htop/), це вдосконалена версія стандартної програми topяка є консольним менеджером процесів. Насамперед необхідно розпакувати архів. Це ви можете зробити як у Windows, так і безпосередньо в Cygwin. В Cygwinце робиться командою:

tar zxf htop-0.6.tar.gz

Зрозуміло, що зараз ви повинні знаходитися в тому ж каталозі, де знаходиться архів htop-0.6.tar.gz. Після розпакування заходимо у створений каталог htop-0.6і виконуємо три стандартні команди для компіляції програми.

./configure
make
make install



Ось і все, компіляцію закінчено. Сміливо набираємо команду htopі милуємося результатом. "EXE"шник, що вийшов, знаходиться в каталозі /usr/local/bin/.



Тепер давайте спробуємо самі написати просту програму ( Hello world) та скомпілювати її за допомогою GCC. Для початку нам потрібно написати саму програму, зробимо це за допомогою програми cat. Введіть команду cat new.c, де new.cІм'я файлу, який містить вихідний код. Після виконання команди напишіть наступний код:

#include
int main()(
printf("Hello World");
return 1;)

Після введення коду натисніть Ctrl+C. Тепер скомпілюємо його за допомогою GCC. Робиться це командою:

Gcc new.c -o new.exe

У тій же директорії, де знаходився new.cз'явиться ще один файл - new.exe. Запустивши його, ви побачите очікуваний напис. Hello World".



На цьому можна було б завершити статтю, але я вирішив ще розповісти про графічне середовище Cygwinщоб потім не повертатися до цієї теми. Я думаю, ви звернули увагу на те, що при встановленні пакетів Cygwinпропонує встановити оболонки Gnomeі KDE. Насправді це не просто оболонки, а їхні бібліотеки, які необхідні для запуску програм. Так, наприклад, графічна версія знаменитого редактора emacs, буде запускатися прямо під Windowsніби це win32-додаток. Щоб не бути голослівними, давайте спробуємо цей самий Emacsзапустити. Робиться це командою:

xemacs

Ось що ми побачимо.



Як бачите, все чудово запускається та працює. Але так не у всіх. Графічна середовище дуже примхлива. Тому необхідно вміти її конфігурувати. Документації з налаштування X-серверав інтернеті дуже багато і ви легко зможете її знайти.

Наприкінці хотілося б нагадати, що хоч би який був хороший Cygwin, він всього лише емулятор. А як відомо копія не може бути кращою за оригінал, тому якщо ви хочете стати справжнім Unix-гуру, не полінуйтеся поставити повноцінний unix-дистрибутив. На мій погляд починати краще з Linux. З різних дистрибутивів рекомендую вам Slackware.

Розробка кросплатформових додатків – справа непроста. Особливо воно непросте завдяки Windows, де все не як у людей. Тут тобі ні нормального терміналу, ні нормальних консольних утиліт взагалі нічого немає! В черговий раз зіткнувшись із цією проблемою, я вирішив знову спробувати Cygwin. І знаєте, виявляється, він дійсно робить із Windows щось, чим майже можна користуватися!

Завантажити інсталятор Cygwin можна звідси. Насправді, це не стільки інсталятор, скільки пакетний менеджер, який при запуску таки запитує, які пакети ви хотіли б поставити. Хлопці! Пакетний менеджер! Під вінду!Інсталятор створює кеш у каталозі, з якого він буде запущено. Тому перед запуском краще створити якусь спеціальну папочку на робочому столі та покласти інсталятор у неї.

Які пакети на мій погляд необхідно поставити:

  • openssh- Мастхев;
  • inetutils, bind-utils, ping, ncі nc6- Мастхев;
  • wget, curl- Мастхев;
  • pythonта/або python3- Вважаю, що мастхев;
  • vim, gvim— для редагування невеликих файлів зайвим не буде;
  • diffutils, pwgen, unzip, rzync— нехай будуть про всяк випадок;
  • gccта/або clang, cmake, gdb- якщо потрібно;
  • screen, tmux, mc- для любителів;
  • git- Під дуже великимпитанням, див нижче;

Зверніть увагу!Щоб встановити Cygwin pip, поставте галочку навпроти пакету python-setuptools та/або python3-setuptools . Після встановлення в терміналі скажіть:

easy_install-2.7 pip

easy_install-3.4 pip

…, дивлячись яку версію чи версії Python ви поставили.

Отже, після встановлення Cygwin можна відкрити термінал:

Хлопці! Нормальний термінал, який ресайзується, дозволяє копіювати та вставляти текст, і ось це все! Під вінду!З усім добре знайомими та звичними командами id, ls, pwd, cat, ssh, scp та іншими. З людським оточенням - .bashrc, ~/.ssh/config і так далі. Плюс до цього, на відміну від ганебного виробу під назвою PowerShell, Cygwin не тягне за собою .NET Framework. Ми навіть можемо відкрити кілька терміналів та перемикатися між ними за допомогою поєднання Ctr+Tab. Це майже як таби! Зрозуміло, старий-добрий Alt + Tab теж працює.

Вище я не радив встановлювати Git, і ось чому. Справа в тому, що у Cygwin він помітно гальмує. рекомендують виконати команди:

git config --global core.preloadindex true
git config --global core.fscache true
git config --global gc.auto 256

Але це, на жаль, не вирішує проблеми повністю. Так на великому проекті команда git status може виконуватися секунд 20. У Linux на такому ж репозиторії команда відпрацьовує миттєво.

Що таке CYGWINПісля статті Кріса Касперскі "Як із Windows зробити Unix" у КМ №3 від 23.01.01 я загорівся бажанням трохи докладніше розповісти користувачам Windows про те, що таке Cygwin. Користуюся я досить давно і вже не можу ефективно працювати в Windows без встановленого Cygwin.

Слово Cygwin складається з двох складових: Cygnus - це ім'я компанії, і Windows, але було б неправильно сказати, що все в Cygwin написано хлопцями з Cygnus. Cygwin – це порт утиліт Gnu під Windows, а Gnu (www.gnu.org) – це проект Фонду Вільного Програмного Забезпечення (Free Software Foundation, або просто FSF), що ставить за мету створення некомерційної Unix системи, що не належить нікому окремо та вільної від тих, що обмежують свободу розповсюдження та модифікації ПЗ ліцензій. В рамках цього проекту було переписано наново практично всі стандартні утиліти UNIX. Три найзначніші внески FSF - це gcc (Gnu C Compiler, або Gnu Compiler Collection), Bash (командний інтерпретатор Bourne Again Shell) та Emacs. Без gcc не було б Лінукса, а Bash – стандартна командна оболонка для багатьох сучасних Unix-систем. Люди з досвідом кажуть, що перше, що роблять сисадміни після встановлення комерційних Unix"ів, - це доінсталюють Gnu утиліти. В принципі, GNU і FSF самі по собі - тема велика і заслуговує на окрему докладну статтю.

Весь набір Gnu-утиліт є набором маленьких (як правило) програмок, які покривають більшість завдань, з якими щодня стикається користувач Unix системи (і не тільки Unix), кожна така програмка виконує одне завдання, і виконує її добре. Ці програми можуть потім комбінуватися на вирішення різних завдань.

Спроби перенести Gnu на інші, не Unix платформи здійснювалися неодноразово, що, до речі, свідчить про їхню популярність.

Варто згадати проект портування утиліт під DOS – DJGPP. Сходіть на сайт http://www.delorie.com/djgpp/, це справді цікаво.

Cygnus не став компілювати кожну утиліту окремо, мучившись щоразу для вирішення одних і тих же проблем, натомість була написана якась "прокладка" між GNU утилітами та операційною системою. Ця прокладка – cygwin1.dll (1 – номер версії) – забезпечує емуляцію системних викликів UNIX, що дозволяє компілювати та виконувати Unix програми без або майже без зміни вихідного коду. В принципі, ця dll і є сам Cygwin, а все інше – програмні пакети GNU, скомпіловані для роботи з Cygwin.

Наявність gcc і бібліотек дає можливість переносити під Windows різні програми і робить Cygwin повноцінною платформою - ви можете іноді знайти вираз "Cygwin platform". З часу перших бета-версій Cygwin різні люди компілювали під Cygwin те, чого їм не вистачало під Windows, зростав поступово і стандартний дистрибутив Cygwin, у тому числі за рахунок цих самопальних компіляцій. Наприклад, під час версії Beta 20 мені доводилося окремо завантажувати редактор vim, а зараз він ставиться разом із усім набором.

Як це все встановлювати

У Cygnus написали зручну програму для управління пакетами, яка трохи нагадує деякі аналогічні програми з дистрибуцій ОС Лінукс. Перший крок – це завантажити її із сайту Cygnus http://sources.redhat.com/cygwin/setup.exe. Запустивши її, Ви зможете завантажити стандартний набір пакетів з одного з численних дзеркал, причому Ви можете бажати вибірково, пропускаючи окремі пакети.

На майбутнє - запускаючи цю програму пізніше з цієї директорії, Ви зможете побачити, які з'явилися нові пакети або нові версії вже наявних пакетів.

Ця ж програма і поставить Cygwin, знову пропонуючи самому розпорядитися, що встановлювати, а що ні. Інсталяція створить Вам директорії, звичайні для файлової ієрархії Unix - bin, usr, sbin, і т.д., тому зручно помістити їх у якусь одну директорію, щоб вони не плуталися з Вашими віндозними папками.

І як цим усім користуватися

Коли Ви запустите Cygwin, ви побачите віконце з консоллю, подібне до звичайної віндозної консолі, command.com у Win9x або cmd.exe в NT. Але немає! У Вас на Windows запустився славний нащадок юніксових командних інтерпретаторів, який намагалася імітувати command.com зі своїми BAT файлами. Bash та його старший брат sh – це той клей, який пов'язує в одне ціле Unix систему, він може цілком повноправно називатися мовою програмування, тобто на ньому можна писати.

Кілька основних команд та їх аналоги у Windows

ls = dir – переглянути зміст директорії;
cd = chdir - перейти до іншої директорії;
cp = copy – скопіювати файл;
mv = mv – перемістити/перейменувати файл;
rm = del – видалити файл;
mkdir = mkdir – створити директорію;
pwd – вивести поточну директорію.

Запам'ятайте - велике "A" вже не дорівнює маленькому "a", символ \ тепер повинен бути замінений на /. Команда cd / Cygwin приведе Вас в ту директорію, де знаходяться bin, usr і т.д. У Unix вище / вже нічого немає, а в Cygwin для того, щоб подорожувати віндозними партиціями, можна користуватися командою cd //c/ (cd //d/MyDir і т.д.).

Одна із найзручніших особливостей Bash – це автодоповнення (autocompletion). Створимо командою cat кілька файлів:

cat > first_file ENTER

введіть щось, потім Ctr-C,

і те саме для іншого файлу:

cat > second_file ENTER.

Переконайтеся, що файли є:

Тепер наберіть будь-яку команду, наприклад ls, і першу літеру першого файлу. Натисніть TAB. Bash сам допише ім'я файлу. Якщо файли починаються однаково, наприклад, file_one та file_two, Bash допише тільки file_ і зачекає, поки Ви введете ще одну літеру, щоб усунути багатозначність.

Декілька прикладів використання деяких утиліт.

Допустимо, у Вас є текстовий файл in.txt. Порахувати кількість слів у ньому Ви можете так:

Кількість рядків:

Знайти рядки, що містять послідовність символів Larry:

grep "Larry" in.txt

Розбити рядки на слова, замінюючи пробіли на символи кінця рядка:

cat in.txt | gawk "gsub("+","\n")"

Команда gawk "gsub(" +","\n")" означає - замінити один або більше пробілів ("+") на символ кінця рядка ("\n").

Зробити те саме, але з можливістю зручного перегляду (PageUp, PageDown, вийти - q)

cat in.txt | gawk "gsub("+","\n")" | less

Відсортувати рядки (слова):

cat in.txt | gawk "gsub("+","\n")" | sort | less

Прибрати однакові рядки (слова):

cat in.txt | gawk "gsub("+","\n")" | sort | uniq | less

cat in.txt | gawk "gsub("+","\n")" | sort | uniq | wc -l

Прибрати однакові рядки (слова), рахуючи їх кількість:

cat in.txt | gawk "gsub("+","\n")" | sort | uniq - count | less

Знову відсортувати, отримавши таким чином частотний словарь тексту:

cat in.txt | gawk "gsub("+","\n")" | sort | uniq - count | sort-r | less

Те саме, з виведенням результатів у текстовий файл:

cat in.txt | gawk "gsub("+","\n")" | sort | uniq - count | sort -r > out.txt

Те саме, зі збереженням проміжних результатів у файлі intermediate.txt:

cat in.txt | gawk "gsub("+","\n")" | tee intermediate.txt | sort | uniq - count | sort-r | less

Тепер, використовуючи можливості Bash, можна повторити цю команду кількох файлів. Набирайте скрипт прямо в консолі, переходячи на новий рядок так, як це надруковано в статті - Bash зрозуміє, що команда не закінчена і змінить запрошення на ">":

for file in *.txt; do

cat $file | gawk "gsub("+","\n")" | sort | uniq - count | sort -r > $file.out

Ось так. Прості завдання – прості рішення.

Щоб дізнатися, як працює та чи інша команда, можна запустити її з ключем --help або скористатися командою man (manual) – man awk, man grep. Вийти з man можна за допомогою q.

Що ще є в CYGWIN

Компілятор

Простий (люди кажуть - 1 день навчання) мова програмування для обробки текстів, один із предків Perl

Потоковий редактор

Генератор парсерів на С

Генератор парсерів на С

Мова програмування. Власне до утиліт Gnu прямого відношення не має, деякий час підтримувався корпорацією Sun. Можна створити cd /usr/share/tk8.0/demos і запустити програму widget -./widget. Ви побачите демонстрацію можливостей Tk – розширення Tcl для створення GUI.

Архіватор

Потужний архіватор

Програма для порівняння файлів

І багато іншого. Просто зайдіть у bin та подивіться, що у Вас там лежить. Поклади пакетів можна знайти на сайті http://www.hirmke.de/software/develop/gnuwin32/cygwin/porters/Hirmke_Michael/GNUWin32-contents.html. Також багато інформації та лінків на тему є на сайті Cygnus http://sources.redhat.com/cygwin/.

Як настроїти CYGWIN

По-перше, Вам не обов'язково запускати Bash, якщо Вас лякає консоль. Ви можете користуватися всіма програмами з Far"а, Windows Commander"а і т.д., потрібно тільки прописати шляхи до директорії bin. У Windows 9x це робиться у файлі autoexec.bat, в NT My Computer / Properties / Environment до змінної оточення PATH потрібно додати доріжку до bin.

Для зручнішої роботи в Bash раджу зробити наступне: якщо директорії Cygwin у Вас знаходяться в c:\cygwin, створити директорію c:\cygwin\root (mkdir /root) і внести рядок у файл cygwin.bat, що лежить у c:\ cygwin:

HOME=d:\cygwin\root

У директорії root слід створити 2 файли, що починаються з точки: .inputrc та .bashrc. Обидва файли виконуються Bash під час запуску, .inputrc відповідає за те, щоб правильно працювали всі клавіші, а.bashrc містить різну інформацію. Як приклад наведу свій.

export PS1="\w > "

export PATH=".:$PATH"

alias ls="ls --color"

alias untar="tar xvf"

echo Welcome to CygWin!

Перший рядок вказує шлях Bash. Так у Юнікс надходять з усіма інтерпретаторами. Наприклад, якщо у вас є скрипт hello.pl на Perl, а сам perl у /usr/bin, Ви можете написати в першому рядку:

і запускати його так:

Таким чином, можна запускати програми, не переймаючись тим, на чому вони написані.

PS1 – це змінна, в якій зберігається Bash prompt, запрошення до роботи, як його ще називають. \w - це поточна директорія.

Після такого додавання до PATH можна робити так, як це звикли робити користувачі Windows:

Далі я використовую синоніми, або alias"и. Наприклад, команда ls за замовчуванням не розфарбовує свій висновок залежно від того, чим є файли, для цього її потрібно запустити з ключем --color. Це незручно. Командою alias ls="ls --color" я вирішую цю проблему. Тепер ls означає ls --color. Не обов'язково використовувати те ж ім'я команди, можна зробити ll="ls --color" - і користуватися новою командою ll. Приблизно так я роблю, створюючи команду untar для розпакування tar архівів, замість того, щоб щоразу набирати tar xvf.В alias можна поміщати і pipes (труби, конвеєри): alias uniq - count | sort -r".

Насправді простір для облаштування робочого місця тут безмежний, і приклади мої примітивні і прості. Є ще функції, інтерактивні команди в.bashrc, функції, що запускаються із запрошення (prompt).

Сподіваюся, у Вас виникло бажання поекспериментувати з Cygwin. Ваші коментарі надсилайте на

Поділитися