Говорите на BASH: различия между версиями

Материал из Викиверситета
Содержимое удалено Содержимое добавлено
мНет описания правки
Нет описания правки
Строка 5: Строка 5:
'''Цель''' данного курса - быстро и безболезненно научиться основам использования семейства командных оболочен *SH, созданных в рамках проекта GNU.
'''Цель''' данного курса - быстро и безболезненно научиться основам использования семейства командных оболочен *SH, созданных в рамках проекта GNU.
'''Метод''' - сравнительный<ref>орисс, предупреждаю сразу. Он используется при демонстрации особенностей грамматики языка в учебниках, но я не уверен, признаёт ли его педагогика</ref><br/>
'''Метод''' - сравнительный<ref>орисс, предупреждаю сразу. Он используется при демонстрации особенностей грамматики языка в учебниках, но я не уверен, признаёт ли его педагогика</ref><br/>
'''Рекомендуется''' при освоении курса запускать команды в терминале вашего компьютера ('''Не''' запускайте их с правами суперпользователя). Не запускайте команды вида '''"rm -rf /'''"!.
'''Рекомендуется''' при освоении курса запускать команды в терминале вашего компьютера ('''Не''' запускайте их с правами суперпользователя).
==Перенаправления==
==Перенаправления==
Пренаправление потоков - мощный инструмент, который позволяет организовывать взаимодействие разных программ. Это - важнейший элемент [[w:ru:Философия UNIX|философии UNIX]]. Приведённый ниже пример сотоит из двух частей - командо до перенаправления (">>") и после. Попробуйте выполнить команду cat /dev/urandom саму по себе и вы увидите как по экрану "поползут крякозаблики" (нажмите Ctrl+C для остановки). Командой ">>" эти "крякозяблики" отправятся на вход звуковой карты. ( Услышите ли Вы звук зависит от конфигурации системы.)
Пренаправление потоков - мощный инструмент, который позволяет организовывать взаимодействие разных программ. Это - важнейший элемент [[w:ru:Философия UNIX|философии UNIX]]. Приведённый ниже пример сотоит из двух частей - командо до перенаправления (">>") и после. Попробуйте выполнить команду cat /dev/urandom саму по себе и вы увидите как по экрану "поползут крякозаблики" (нажмите Ctrl+C для остановки). Командой ">>" эти "крякозяблики" отправятся на вход звуковой карты. ( Услышите ли Вы звук зависит от конфигурации системы.)
Строка 42: Строка 42:
|-
|-
|}
|}
==Фильтр==

Одна из полезнейших программ. Вместе с механизмом перенаправления позволяет очень легко осуществлять нетривиальную обработку информации. Сравните два примера.
{| class="tiles" style="text-align:center"
|colspan="9"|<center><big> for FILE in *.md5;do md5sum -c $FILE;done</center></big>
|}
{| class="tiles" style="text-align:center"
|colspan="9"|<center><big> for FILE in *.md5;do md5sum -c $FILE;done | grep -v OK </center></big>
|}
grep, как мы уже знаем, - это фильтр. Опция -v инвертирует условие поиска (шаблон), "OK" - наш шаблон. Что выведет на экран вторая команда?
==Задания для отработки материала==
==Задания для отработки материала==
{{в планах}}
{{в планах}}

Версия от 23:16, 27 февраля 2010

Говорите с компьютером на понятном ему языке[1]!
Эта статья — часть материалов: кафедры Программирование

Цель данного курса - быстро и безболезненно научиться основам использования семейства командных оболочен *SH, созданных в рамках проекта GNU. Метод - сравнительный[2]
Рекомендуется при освоении курса запускать команды в терминале вашего компьютера (Не запускайте их с правами суперпользователя).

Перенаправления

Пренаправление потоков - мощный инструмент, который позволяет организовывать взаимодействие разных программ. Это - важнейший элемент философии UNIX. Приведённый ниже пример сотоит из двух частей - командо до перенаправления (">>") и после. Попробуйте выполнить команду cat /dev/urandom саму по себе и вы увидите как по экрану "поползут крякозаблики" (нажмите Ctrl+C для остановки). Командой ">>" эти "крякозяблики" отправятся на вход звуковой карты. ( Услышите ли Вы звук зависит от конфигурации системы.)

cat /dev/urandom >> /dev/dsp
cat /dev/urandom ">>" /dev/dsp
вывести содержимое
файла в стандартный
вывод
генератор
псевдослучайных
символов
перенаправить вывод
в файл
файл звуковой
карты
Назначение:Быстро проверить работоспособность звуковой карты

Здесь используется "конвейер" - символ ("|"). Он перенаправляет стандартный вывод одной программы на стандартный ввод другой программы.

man useradd | grep -i -- -e
man useradd "конвейер" grep -i -- -e
вызвать справку для программы useradd перенаправить вывод
на ввод фильтра
фильтр не учитывать
регистр
конец
списка опций
что ищем
Назначение:Быстро проверить назначение опции


for FILE in *.md5;do md5sum -c $FILE;done
for FILE "in " *.md5 do md5sum -c $FILE; done
Управляющий
элемент
Помещаем имя
в переменную
Управляющий
элемент
маска
файла
Управляющий
элемент
программа для работы
с md5-хешами
опция
проверки
подставляем имя
файла
Управляющий
элемент
Назначение:Проверить md5-хеши всех пакетов в каталоге (для который есть файл с хешем)

Фильтр

Одна из полезнейших программ. Вместе с механизмом перенаправления позволяет очень легко осуществлять нетривиальную обработку информации. Сравните два примера.

for FILE in *.md5;do md5sum -c $FILE;done
for FILE in *.md5;do md5sum -c $FILE;done | grep -v OK

grep, как мы уже знаем, - это фильтр. Опция -v инвертирует условие поиска (шаблон), "OK" - наш шаблон. Что выведет на экран вторая команда?

Задания для отработки материала

Примечания

  1. Под управлением UNIX-подобных ОС
  2. орисс, предупреждаю сразу. Он используется при демонстрации особенностей грамматики языка в учебниках, но я не уверен, признаёт ли его педагогика