Говорите на BASH: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 4: | Строка 4: | ||
'''Цель''' данного курса - быстро и безболезненно научиться основам использования семейства командных оболочен *SH, созданных в рамках проекта GNU. |
'''Цель''' данного курса - быстро и безболезненно научиться основам использования семейства командных оболочен *SH, созданных в рамках проекта GNU. |
||
'''Метод''' - сравнительный |
|||
'''Метод''' - сравнительный<ref>орисс, предупреждаю сразу. Он используется при демонстрации особенностей грамматики языка в учебниках, но я не уверен, признаёт ли его педагогика</ref><br/> |
|||
'''Рекомендуется''' при освоении курса запускать команды в терминале вашего компьютера ('''Не''' запускайте их с правами суперпользователя). |
'''Рекомендуется''' при освоении курса запускать команды в терминале вашего компьютера ('''Не''' запускайте их с правами суперпользователя). |
||
==Предисловие== |
==Предисловие== |
||
Строка 90: | Строка 90: | ||
==Задания для отработки материала== |
==Задания для отработки материала== |
||
<quiz display=simple> |
|||
{Команда mount, вызванная без аргументов, выводит на экран список отмонтированных устройств. Напишите команду, выводящую только устройства, отмонтированные в каталог /media. |
|||
|type="{}"} |
|||
{ mount | grep /media | grep /media _15} |
|||
</quiz> |
|||
{{в планах}} |
|||
== Примечания == |
== Примечания == |
||
{{примечания}} |
{{примечания}} |
Версия от 16:12, 1 марта 2010
Цель данного курса - быстро и безболезненно научиться основам использования семейства командных оболочен *SH, созданных в рамках проекта GNU. Метод - сравнительный Рекомендуется при освоении курса запускать команды в терминале вашего компьютера (Не запускайте их с правами суперпользователя).
Предисловие
В общем виде команда состоит из имени программы, параметров и аргументов.
rm | -ri | "/home/user/anime" | ||||
имя программы для удаления |
параметры | аргумент | ||||
Назначение:Удалить каталог, требуя подтверждение перед удалением каждого файла |
Перенаправления
Пренаправление потоков - мощный инструмент, который позволяет организовывать взаимодействие разных программ. Это - важнейший элемент философии 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-хеши всех пакетов в каталоге (для который есть файл с хешем) |
Золотое правило
В терминологии командных оболочек UNIX, командами одинаково называются и встроенные команды, и сторонние программы. Это объясняется тем, что в UNIX- подобных ОС программы вызываются по имени. Хотя подобное смешение может вызвать поначалу некоторую путаницу, на самом деле представляет собой большое удобство.
Существует не менее двух способов сделать что-то. Следующие команды выполняют одну и ту же операцию распаковывают все targz- архивы(тарболлы) в текущем каталоге.
Фильтр
Одна из полезнейших программ. Вместе с механизмом перенаправления позволяет очень легко осуществлять нетривиальную обработку информации. Сравните два примера.
grep, как мы уже знаем, - это фильтр. Опция -v инвертирует условие поиска (шаблон), "OK" - наш шаблон. Что выведет на экран вторая команда?
Задания для отработки материала
Примечания
- ↑ Под управлением UNIX-подобных ОС