Говорите на BASH: различия между версиями
SSJ (обсуждение | вклад) мНет описания правки |
Нет описания правки |
||
Строка 5: | Строка 5: | ||
'''Цель''' данного курса - быстро и безболезненно научиться основам использования семейства командных оболочен *SH, созданных в рамках проекта GNU. |
'''Цель''' данного курса - быстро и безболезненно научиться основам использования семейства командных оболочен *SH, созданных в рамках проекта GNU. |
||
'''Метод''' - сравнительный<ref>орисс, предупреждаю сразу. Он используется при демонстрации особенностей грамматики языка в учебниках, но я не уверен, признаёт ли его педагогика</ref><br/> |
'''Метод''' - сравнительный<ref>орисс, предупреждаю сразу. Он используется при демонстрации особенностей грамматики языка в учебниках, но я не уверен, признаёт ли его педагогика</ref><br/> |
||
'''Рекомендуется''' при освоении курса запускать команды в терминале вашего компьютера ('''Не''' запускайте их с правами суперпользователя). |
'''Рекомендуется''' при освоении курса запускать команды в терминале вашего компьютера ('''Не''' запускайте их с правами суперпользователя). |
||
==Перенаправления== |
==Перенаправления== |
||
Пренаправление потоков - мощный инструмент, который позволяет организовывать взаимодействие разных программ. Это - важнейший элемент [[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
Цель данного курса - быстро и безболезненно научиться основам использования семейства командных оболочен *SH, созданных в рамках проекта GNU.
Метод - сравнительный[2]
Рекомендуется при освоении курса запускать команды в терминале вашего компьютера (Не запускайте их с правами суперпользователя).
Перенаправления
Пренаправление потоков - мощный инструмент, который позволяет организовывать взаимодействие разных программ. Это - важнейший элемент философии UNIX. Приведённый ниже пример сотоит из двух частей - командо до перенаправления (">>") и после. Попробуйте выполнить команду cat /dev/urandom саму по себе и вы увидите как по экрану "поползут крякозаблики" (нажмите Ctrl+C для остановки). Командой ">>" эти "крякозяблики" отправятся на вход звуковой карты. ( Услышите ли Вы звук зависит от конфигурации системы.)
cat | /dev/urandom | ">>" | /dev/dsp | |||
вывести содержимое файла в стандартный вывод |
генератор псевдослучайных символов |
перенаправить вывод в файл |
файл звуковой карты | |||
Назначение:Быстро проверить работоспособность звуковой карты |
Здесь используется "конвейер" - символ ("|"). Он перенаправляет стандартный вывод одной программы на стандартный ввод другой программы.
man | useradd | "конвейер" | grep | -i | -- | -e |
вызвать справку | для программы useradd | перенаправить вывод на ввод фильтра |
фильтр | не учитывать регистр |
конец списка опций |
что ищем |
Назначение:Быстро проверить назначение опции |
for | FILE | "in " | *.md5 | do | md5sum | -c | $FILE; | done |
Управляющий элемент |
Помещаем имя в переменную |
Управляющий элемент |
маска файла |
Управляющий элемент |
программа для работы с md5-хешами |
опция проверки |
подставляем имя файла |
Управляющий элемент |
Назначение:Проверить md5-хеши всех пакетов в каталоге (для который есть файл с хешем) |
Фильтр
Одна из полезнейших программ. Вместе с механизмом перенаправления позволяет очень легко осуществлять нетривиальную обработку информации. Сравните два примера.
grep, как мы уже знаем, - это фильтр. Опция -v инвертирует условие поиска (шаблон), "OK" - наш шаблон. Что выведет на экран вторая команда?
Задания для отработки материала
Этот раздел статьи ещё не написан. Согласно замыслу одного из участников Викиверситета, на этом месте должен располагаться специальный раздел.
Вы можете помочь проекту, написав этот раздел. |