Контакты

Cygwin: Введение. Устанавливаем Cygwin Cygwin что такое

Эта статья будет полезна начинающим пользователям Cygwin. Начнем с того, что нам для начала нужно ответить на простой вопрос. Что же такое Cygwin? Cygwin - это UNIX-подобная среда и интерфейс командной строки для Microsoft Windows. В системе Microsoft Windows уже существует подобный интерфейс cmd. Вызвать командную строку можно сочетанием клавиш Win+R. Но зачастую большую часть работы 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:\cygwin64\package. Потом нужно выбрать как скачивать через прокси или напрямую. Следующим шагом будет выбор репозитория скачки выбираем любой попавшийся или тот что по умолчанию и жмем Далее. После нажатия кнопки далее начнется процесс скачивания основных конфигов. Следом вы сможете выбрать что устанавливать. Чтобы выбрать пакет нужно нажать 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)

Мне не симпатизировал ни цвет фона, ни встроенный шрифт и цвет текста поэтому я кастомизировал его. На этих словах я закончу эту статью.

Теги: cygwin, для новчиков

Любители работать в консоли, подобной консоли линукса, могут установить себе Cygwin, юникс подобную среду, где будут доступны стандартные консольные программы из линукса.

Ставится Cygwin довольно просто. В процессе установки в одном из режимов можно выставить флажки напротив программных пакетов, которые вы хотите установить. Я выбрал себе пакеты nano, git и что-то ещё.

После инсталляции на рабочем столе появляется ярлычок Cygwin для запуска среды.

Запуск Cygwin из любой папки

Так как я пользуюсь TotalCommander-ом, мне удобно запускать программы сразу из нужной мне директории. Создадим удобный bat-файл для запуска Cygwin.

Сразу, без долгих размышлений, копируем строку "Объект" из свойства этого ярлыка в новый созданный нами файл C:\bin\bash.bat
Полное содержимое файла будет выглядеть так:

@start "" C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -

Обратите внимание на то, что путь до exe-файла у вас может быть другим. У себя я установил Cygwin в директорию C:\cygwin .
Также если директория C:\bin у вас ещё не добавлена в переменную окружения PATH , то это следует сделать.

Настройка запуска Cygwin

После некоторой работы с Cygwin я обнаружил, что не смотря на то, что запускать Cygwin я могу из любой директории, просто прописав слово bash , сама же запускаемая среда всегда открывается в домашней директории вашего пользователя. (Домашняя директория установлена в переменной окружения HOME ).

Это выглядит не очень удобно, ведь если я пишу команду bash , находясь в директории D:\xyz , то я и рассчитываю, что запущенный Cygwin также будет находиться в директории D:\xyz .

Если вы обратите внимание, то увидите, что ярлык с рабочего стола запускает утилиту mintty.exe . Мы сразу понимаем, что необходимо ознакомиться с перечнем входящих атрибутов для данной команды.
Открываем Cygwin и вводим

Man mintty

После внимательного изучения мануала, мы радуемся некоторым возможностям, о которых не подозревали, а именно: возможности задать размеры и координаты запускаемого окна Cygwin.

Открываем наш bat-файл и изменяем его содержимое на следующее:

@start "" C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico --size 120,77 --position -4,0 -

В данном случае я установил нужный мне размер окна Cygwin и позицию появления окна (отрицательное значение -4 нужно, чтобы кромка окна оказалась за границей монитора, и её не было видно).

Теперь моё окно будет всегда появляться в удобных мне координатах, а не будет смещаться при каждом новом запуске на +8 пикселей по x,y.

Но как же быть с директорией запуска Cygwin?

Ведь переходить в нужную директорию из домашней - жутко не удобно!

Решение было найдено! Для установки текущей директории при запуске Cygwin мы можем использовать скрипт автозапуска для запускаемой среды bash .

Значит нам нужно усовершенствовать наш bash.bat файл таким образом, чтобы он создавал файл автозапуска для запускаемой консоли bash

Запускаем Cygwin, вводим команду "man bash " и читаем документацию в поисках необходимого нам. Находим несколько вариантов имён файлов для домашней директории пользователя, который запускаются при авторизации в bash.
Файлы, запускаемые при авторизации в bash :

~/.bash_profile ~/.bash_login ~/.profile

Файл, запускаемый при запуске "bash без авторизации в нём

~/.bashrc

Важное замечание : файл автозапуска ~/.bash_login (или любой другой) должен быть написан в кодировке UTF-8! И не должен использовать символы \r . (Например команда pwd у меня не выполнялась, когда файл содержал в конце символ \r , свойственный системе Windows).

Как оказалось, вывести UTF-8 текст из CMD не так-то просто, но возможно!
Вот пример, как это делается:

Cmd /u /c chcp 65001 | echo некий текст >"имя_файла"

Усовершенствуем наш C:\bin\bash.bat файл, теперь он имеет содержимое:

@echo off SET file=.bash_login cmd /u /c chcp 65001 | echo #!/bin/bash > "%HOME%\%file%" cmd /u /c chcp 65001 | echo cd "%CD:\=/%" >> "%HOME%\%file%" @start "" C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico --size 120,77 --position -4,0 -

После запуска, консоль bash выполняет содержимое файла ~/.bash_login . Этот файл должен быть в формате UTF-8. Для этого мы вызываем CMD cо флагом /u , который сообщает, что запускаемая консоль должна возвращать результат в формате UTF-8.

Как можно увидеть, мы передаём две команды, разделённых знаком | . Данный знако позволяет записать две нужных нам команды в одну строку.

Первая команда chcp 65001 устанавливает кодировку UTF-8 в запущенной консоли. (Чтобы узнать, какая текущая кодировка установлена в консоли, достаточно вызвать команду chcp без параметров.)

Вторая команда echo текст > "%HOME%\%file%" печатает соответствующий текст в файл с именем "%HOME%\%file% ", где имена переменных развёртываются в путь к домашней директории и имени файла .bash_login .

Обратите внимание на необычное обращение к переменной CD , в которой содержится текущий каталог cmd-консоли. Если обычно переменная развёртывается записью

То в нашем случае, мы используем запись

%CD:\=/%

Что позволяет сразу заменить все слеши в стиле Windows \ на слеши в стиле Linux / .

Не забываем помещать все имена файлов и директорий в двойные кавычки, таким образом это позволит попадать в директории содержащие пробелы.

За счёт того, что используется UTF-8, данная конструкция успешно позволяет открывать Cygwin в директориях с русскими именами.

Таким образом, при каждом запуске в консоли команды bash , будет запускаться скрипт C:\bin\bash.bat , который перезаписывает файл автозагрузки среды bash в Cygwin. Теперь мы можем легко и удобно запускать консоль bash из любой директории и сразу попадать в эту же самую директорию в bash-консоли.

Радуемся и наслаждаемся результатом!

Подведём итоги

  1. Мы установили Cygwin
  2. Создали файл C:\bin\bash.bat с содержимым @echo off SET file=.bash_login cmd /u /c chcp 65001 | echo #!/bin/bash > "%HOME%\%file%" cmd /u /c chcp 65001 | echo cd "%CD:\=/%" >> "%HOME%\%file%" @start "" C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico --size 120,77 --position -4,0 - (Заметка: путь C:\bin\ должен содержаться в переменной окружения PATH )
    За счёт этого мы добились:
    • запуска терминала Cygwin в указанной позиции экрана (параметр --position )
    • запуска окна определённого размера (параметр --size )
    • запуска Cygwin из любой директории, набрав в консоли слово bash
    • при этом запущенный Cygwin располагается в той же директории, откуда был запущен!

Cygwin это unix подобная среда для Windows. Она часто нужна для запуска программ которые разрабатывались для unix подобных операционных систем. Многие такие программы можно установить и без Cygwin, но он обеспечивает удобное централизованную установку и управление. С помощью Cygwin вы можете легко поставить такие программы как — OpenSSL , GnuPG , ImageMagick , gvim , gcc , bash , tcsh , emacs и многие другие.
Итак перейдём к установке. Для начала надо скачать установщик . Это лишь программа которая скачает все нужные пакеты и среду, а потом их установит. Установка проходит достаточно просто:




C помощью этого меню вы можете выбрать настройки прокси если вы его используете.


Программа скачает список зеркал с пакетами для установки, после чего предоставит вам выбрать зеркало откуда будут скачиваться пакеты.


Теперь можно выбирать пакеты для установки. Для простоты поиска они собраны в группы по их назначению. Также можете использовать поиск по названию пакета. С помощью этого меню можно установить как бинарный пакет (уже откомпиленный), так и исходный код (неоткомпиленный пакет). В колонке Bin пишется версия выбранного бинарного пакета, колонку Src (исходный код) можно выбрать если уже выбран бинарный пакет. Исходный код будет той же версии что и бинарный пакет. Для того что-бы выбрать версию пакета в колонке New надо несколько раз щёлкнуть на ней.
После того как вы выберете все пакеты которые вам необходимы то можете нажать далее и установщик скачает их и установит. При выборе пакетов я бы порекомендовал вам такие —

Cygwin (Сигвин) представляет собой набор Unix программ и библиотек, скомпилированных под ОС Windows и размещенных в файловой системе таким же образом как и в настоящем Unix-е. Благодаря этому мы получаем полный эквивалент Unix среды начиная от bash и вплоть до компиляторов gcc, которыми без особого портирования исходного кода можно собирать проекты для выполнения в Windows (достаточно большое количество кросс-платформенных приложений используют такой подход, так как он наиболее простой и быстрый).

Установка Cygwin

Скачать Cygwin для 32х или 64х - разрядной версии можно на сайте https://cygwin.com/install.html . Установка весьма простая - можно просто нажимать "Далее" до окна выбора пакетов (Select Packages). Тут перед вами откроется база пакетов, причем некоторые из них уже будут отмечены для остановки (базовы), другие вы можете отметить сами. Для того, что бы отметить пакет на установку, нужно ввести его имя в поле "Search", затем раскрыть категории и найти этот пакет. Потом нажать "Skip", в результате чего вместо Skip должна появится версия, которая будет установлена. Для дальнейшей работы отметьте пакет wget , остальное можно пока не трогать. Пакеты можно будет доустановить или удалить в любой момент времени, просто повторно запустив установщик, но это не совсем удобно, поэтому дальше в статье я расскажу как устанавливать пакеты из командной строки (для этого нам и понадобится wget).

По дефолту cygwin запускается в стандартном терминале Windows, что не очень удобно.

Терминал Console

Установка пакетов для python с помощью pip

Пакеты в python часто устанавливаются с помощью pip, которого нету в репозиториях сигвина.

Поэтому его нужно установить отдельно:

MAN-страницы для функций libc

Cygwin уже содержит мануал-страницы для стандартных команд, однако man для функций libc можно установить отдельно:

Кстати Cygwin в некотором роде связан со встраиваемыми системами, так как использует Newlib реализацию libc, которая как известно повсеместно применяется в разных ARM-тулчейнах.

Vim в Cygwin

Установка:

Настройка выполняется в файле.vimrc в домашней директории:

Я пользуюсь такими настройками:

set backspace=indent,eol,start

Syntax enable

set shiftwidth=4

set tabstop=8

set softtabstop=4

set expandtab

set number

set showcmd

set cursorline

filetype indent plugin on

set wildmenu

set lazyredraw

set showmatch

set incsearch

Использование "родного" терминала Cygwin Terminal

Стандартный установщик Cygwin предоставляет свой терминал mintty (запускается через иконку Cygwin Terminal). В сравнении с Console он немного уступает в функциональности (например в нем нет вкладок), но он также имеет неплохой функционал, да и телодвижений меньше. Одной из приятных возможностей выступает поддержка 256-ты разрядных цветов в терминале:

Это позволяет использовать удобные темы подсветки синтаксиса для vim, например badwolf:

Для её активации, в.vimrc надо добавить:

Выглядить это будет так:

Как сделать чтобы сохранялась история команд в bash cygwin?

В файле.bashrc нужно найти добавить:

В первой указывается размер файла истории (10 тысяч команд), во второй включается удаление дубликатов команды (если введенная команда уже есть в истории, то старая удаляется для экономии места), и в третьей включается ведение истории bash.

Как в Cygwin перейти по пути заданному в стиле Windows?

Для первращения win-подобного пути в unix-style путь можно использовать утилитку cygpath.

В результате путь превратится в "/cygdrive/d/projects/some/src" и передастся как аргумент cd.

После статьи Криса Касперски "Как из 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 содержит различную информацию. Как пример приведу свой.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 sort_un_sort=" sort | uniq --count | sort -r ".

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

Понравилась статья? Поделитесь ей