Описание проекта 23 Марта 2015
Аудитория:
Пользователи имеющие опыт работы в Shell.Предварительная подготовка:
Студентам, для успешного изучения данного курса необходимо:• Знакомство с основами работы в Linux/GNU (UNIX) и редакторе VI
• Желательно чтобы студент был знаком с основными командами Linux/GNU (UNIX), включая: rm, cp, man, more, mkdir, ps and chmod.
• Манипулирование файлами и директориями, создание и редактирование файлов
• Знакомы с основами управления процессами и правами доступа к файлам
• Знакомы о основами перенаправления ввода/вывода
Приобретаемые навыки:
Это расширенный курс рассчитанный на студентов желающих научиться писать собственные скрипты и использовать все доступные возможности языка Bash. В данном курсе рассматриваются вопросы написания, отладки и тестирования приложений, а также использование таких потоковых редакторов как sed, и awk. Кроме этого вы научитесь работать с регулярными выражениями и использованием их для нахождения нужной информации и при обработке текстовых файлов.Содержание курса:
Модуль 1. Введение
- Зачем необходимо знание языка Shell?
- Для начала о Sha-Bang.
- Запуск сценария.
Модуль 2. Основы
- Служебные символы.
- Подстановка переменных.
- Присваивание значений переменным.
- Переменные Bash не имеют типа.
- Специальные типы переменных.
- Кавычки.
- Завершение и код завершения.
Модуль 3. Проверка условий
- Конструкции проверки условий (if).
- Ветвления Else if и elif.
- Операции проверки файлов.
- Операции сравнения.
- Вложенные условные операторы if/then.
- Упражнение.
Модуль 4. Операции и смежные темы.
- Операторы.
- Числовые константы.
- Внутренние переменные.
- Работа со строками.
- Использование awk при работе со строками.
- Дальнейшее обсуждение.
- Подстановка параметров.
- Объявление переменных: declare и typeset.
- Косвенные ссылки на переменные.
- $RANDOM: генерация псевдослучайных целых чисел.
- Двойные круглые скобки.
Модуль 5. Циклы и ветвления
- Циклы.
- Вложенные циклы.
- Управление ходом выполнения цикла.
- Операторы выбора.
Модуль 6. Внутренние команды.
- Внутренние команды.
- Ввод/вывод.
- Файловая система.
- Переменные.
- Управление сценарием.
- Команды.
- Команды управления заданиями.
Модуль 7. Внешние команды, программы и утилиты.
- Базовые команды.
- Более сложные команды.
- Команды для работы с датой и временем.
- Команды обработки текста.
- Команды для работы с файлами и архивами.
- Команды для работы с сетью.
- Команды управления терминалом.
- Команды выполнения математических операций.
- Прочие команды.
Модуль 8. Команды системного администрирования.
- Системный журнал.
- Управление заданиями.
- Команды управления процессами и загрузкой.
- Команды для работы с сетью.
- Команды для работы с файловыми системами.
- Команды резервного копирования.
- Команды управления системными ресурсами.
- Команды для работы с модулями ядра.
- Прочие команды.
Модуль 9. Подстановка команд.
- Арифметические подстановки.
- Перенаправление ввода/вывода.
- С помощью команды exec.
- Перенаправление для блоков кода.
- Область применения.
Модуль 10. Встроенные документы
Модуль 11. Регулярные выражения
- Регулярные выражения. Globbing -- Подстановка имен файлов
Модуль 12. Глава 19. Подоболочки, или Subshells
- Списки команд и массивы.
- Ограниченный режим командной оболочки.
- Подстановка процессов.
Модуль 13. Функции
- Основы работы с функциями.
- Сложные функции и сложности с функциями.
- Перенаправление.
- Локальные переменные.
- Локальные переменные делают возможной рекурсию.
- Псевдонимы.
Модуль 14. Дополнительные вопросы по оболочке shell
- Списки команд.
- Массивы.
Модуль 15. Работа с файлами и устройствами
- Файлы. /dev и /proc. /dev/zero и /dev/null
Модуль 16. Отладка сценариев
- Отладка сценариев.
- Необязательные параметры (ключи).
- Широко распространенные ошибки.
- Стиль программирования.
- Неофициальные рекомендации по оформлению сценариев.
Модуль 17. Разное
- Интерактивный и неинтерактивный режим работы.
- Сценарии-обертки. Операции сравнения:
- Альтернативные решения.
- Рекурсия.
- "Цветные" сценарии.
- Оптимизация.
- Разные советы.
- Проблемы безопасности.
- Проблемы переносимости.
- Сценарии командной оболочки под Windows
Модуль 18. Bash, версия 2 и выше
Модуль 19. Учебник по Sed и Awk
Клиент:
Александр Мищенко