-
Введение в Bash и основные команды
- Обзор командной строки и Bash.
- Основные команды:
pwd
,ls
,cd
,mkdir
,touch
.
-
Навигация по файловой системе
- Подробнее о команде
cd
. - Абсолютные и относительные пути.
- Подробнее о команде
-
Работа с файлами и каталогами
- Команды
cp
,mv
,rm
,rmdir
. - Использование шаблонов и символов подстановки.
- Команды
-
Просмотр и редактирование файлов
- Команды
cat
,less
,head
,tail
. - Основы работы с текстовыми редакторами
nano
иvim
.
- Команды
-
Права доступа и управление пользователями
- Команды
chmod
,chown
,chgrp
. - Понимание прав доступа в Linux.
- Команды
-
Переменные и окружение
- Как задавать и использовать переменные.
- Переменные окружения и их использование.
-
Управление процессами
- Команды
ps
,top
,htop
,kill
. - Фоновые процессы и управление ими.
- Команды
-
Перенаправление ввода-вывода и конвейеры
- Использование
>
,>>
,<
,|
. - Комбинирование команд с помощью конвейеров.
- Использование
-
Регулярные выражения и фильтрация текста
- Основы регулярных выражений.
- Команды
grep
,sed
,awk
.
-
Создание и использование скриптов
- Основы написания скриптов на Bash.
- Практические примеры и упражнения.
-
Условные операторы и циклы
- Использование
if
,else
,elif
,for
,while
,until
. - Примеры использования в скриптах.
- Использование
-
Функции и аргументы
- Создание и использование функций в скриптах.
- Передача аргументов в функции.
-
Обработка ошибок и отладка
- Основы обработки ошибок в скриптах.
- Использование
set -e
,trap
, и других инструментов.
-
Работа с файлами конфигурации
- Редактирование и использование файлов
.bashrc
,.bash_profile
. - Настройка окружения и псевдонимов.
- Редактирование и использование файлов
-
Работа с сетью
- Основы работы с сетевыми командами:
ping
,curl
,wget
,netstat
. - Написание скриптов для сетевых задач.
- Основы работы с сетевыми командами:
-
Автоматизация задач
- Использование
cron
для планирования задач. - Написание скриптов для автоматизации повседневных задач.
- Использование
-
Работа с архивами и сжатием
- Команды
tar
,gzip
,zip
,unzip
. - Создание и распаковка архивов.
- Команды
-
Работа с SSH и удаленными серверами
- Основы SSH и безопасного подключения.
- Написание скриптов для удаленного управления.
-
Обработка текста и данных
- Использование
cut
,paste
,sort
,uniq
,join
. - Анализ и обработка данных с помощью Bash.
- Использование
-
Создание интерактивных скриптов
- Использование
read
для взаимодействия с пользователем. - Создание диалогов и меню в скриптах.
- Использование
-
Расширенные возможности скриптов
- Использование
set -u
для отлавливания неинициализированных переменных. - Практика использования
set -e
для выхода из скрипта при ошибке. - Работа с
trap
для обработки сигналов.
- Использование
-
Работа с массивами
- Объявление и использование массивов в Bash.
- Операции с массивами: добавление, удаление, перебор элементов.
- Примеры использования массивов в скриптах.
-
Работа с ассоциативными массивами
- Введение в ассоциативные массивы (начиная с Bash 4.0).
- Создание, заполнение и доступ к элементам ассоциативных массивов.
- Примеры использования в реальных задачах.
-
Расширенные возможности циклов
- Использование
select
для создания меню. - Вложенные циклы и их применение.
- Управление циклами с помощью
break
иcontinue
.
- Использование
-
Работа с командной строкой
- Парсинг аргументов с помощью
getopts
. - Создание скриптов, которые принимают флаги и параметры.
- Примеры обработки входных данных.
- Парсинг аргументов с помощью
-
Работа с файлами и каталогами
- Рекурсивный обход каталогов с помощью
find
. - Обработка файлов в циклах.
- Примеры автоматизации задач с файлами.
- Рекурсивный обход каталогов с помощью
-
Работа с текстом и строками
- Использование
sed
для сложных манипуляций с текстом. - Примеры использования
awk
для обработки данных. - Регулярные выражения в скриптах.
- Использование
-
Работа с функциями и библиотеками
- Создание и использование функций в скриптах.
- Импорт библиотек и повторное использование кода.
- Примеры создания модульных скриптов.
-
Обработка ошибок и логирование
- Логирование с использованием
tee
и перенаправления. - Создание скриптов с улучшенной обработкой ошибок.
- Примеры реализации логирования в реальных проектах.
- Логирование с использованием
-
Создание интерактивных приложений
- Использование
dialog
для создания текстовых интерфейсов. - Примеры создания интерактивных меню и форм.
- Работа с пользовательским вводом и валидация данных.
- Использование
-
Работа с внешними командами и утилитами
- Интеграция Bash с другими утилитами и языками программирования.
- Примеры использования
awk
,grep
,sed
в скриптах. - Работа с API и сетевыми запросами.
-
Оптимизация и производительность
- Тестирование и профилирование скриптов.
- Оптимизация циклов и операций с файлами.
- Примеры повышения производительности скриптов.
-
Оптимизация
-
Создание и управление проектами
- Организация кода и структура проекта.
- Использование систем контроля версий (например, Git) для управления скриптами.
- Примеры управления проектами на GitHub.