Курс для разработчиков, решивших сделать Linux своей основной ОС. Благодаря полученным знаниям вы сможете нативно подключаться к серверу, работать с технологиями рабочего продакшена и использовать Linux для решения профессиональных задач.
Программа курса:
Тема 1 - Вводная
- Что такое Linux? В чём его преимущества и недостатки? В каких случаях его надо использовать на рабочей машине, в каких нет?
- Выбор дистрибутива. Семейства операционных систем Linux: Ubuntu, *ubuntu, Arch, Fedora, Mint и т.д.
- Установка. Набор ссылок и подход к установке Linux систем на рабочий компьютер. Немного про grub, установку рядом с Windows и т.д. Ссылки на скачивание дистрибутивов.
Тема 2 - Использование
2.1. Терминал и правила работы с ним. Главные преимущества и недостатки работы с операционной системой без графического интерфейса.
2.2. Файлы, папки, ссылки в Linux. Управление.
2.3. Установка и запуск программ. Основные пакетные менеджеры и принцип их работы.
- Установка и удаление программ через apt.
- Репозитории apt, управление ими, принципы работы.
- Установка и удаление программ через скачивание готовых бинарников.
- Немного про aptitude, pacman, yum и т.д.
2.4. Пользователи и группы пользователей. Доступы пользователей.
- Управление пользователями.
- Управление группами пользователей.
- Что такое доступы?
- Примеры управления доступами из около-реальных кейсов (веб-сервер — самый частый кейс).
2.5. Переменные окружения.
2.6. Принципы работы конфигурационных файлов на примере .bashrc
Тема 3 - Основные команды и утилиты
- cd, ls, mkdir и другие самые популярные команды.
- Поиск по файлам. grep, find.
- Изменение файлов sed, awk, vim, nano.
- Скачивание информации curl, wget.
- Основы программирования на bash: операторы, переменные, функции.
Тема 4 - Основы мониторинга системы
- Процессы в Linux. Основы.
- ps aux, top, htop, другие утилиты.
Тема 5 - Подключение к удалённым компьютерам
- Как работать с SSH.
- Как работает SSH. Асимметричное шифрование.