cli-for-dev
26 subscribers
9 links
Командная строка для разработчиков
Download Telegram
Channel created
Занятие 1.1 – введение в курс. Показываем нашу структуру занятия и предлагаем несколько вариантов работы с терминалом в Linux – Ubuntu на виртуалке, на хосте или в WSL2.
Занятие 1.2 – команды и работа с файловой системой из терминала. Разбираем типовую структуру команды в терминале и джентельменский набор команд: echo, pwd, ls, cd, cat, wc.

Говорим о длинных и коротких флагах. А вы знаете, что короткий флаг не всегда первая буква длинного? У команды wc -l это --lines. А вот --chars это -m. Живите теперь с этим :)
Занятие 1.3 – Модифицируем файловую систему. Разбираем, как пользоваться man и искать в нём, абсолютные и относительные пути, перемещение файлов и каталогов. Учимся всё время использовать tab и пользоваться стрелками.

Немного лезем вглубь устройства inode, учимся смотреть в stat и применять touch. Отрабатываем варианты использования команды mv и знакомимся с символом подстановки *.
Занятие 1.4 – Управляем сотнями файлов и пишем первый скрипт

Немного о терминологии: bash, shell, терминал. Хитрости копирования в терминале и киллер-фича Linux – буфер выделения. Разбираемся с подстановкой фигурных скобок и расширяем навыки создания файлов и каталогов сотнями. Пробуем создавать первую функцию в bash и первый скрипт. Разбираемся с типами команд.
Занятие 1.5 – Разбираемся с текстовыми редакторами nano, mcedit, gedit, vim

Простой блокнот без графического интерфейса становится неожиданно сложной программой. Непонятно, как из редактора выйти, не говоря уже о каких-то полезных действиях. И подсказки внутри помогают слабо. Вот nano предлагает нажать ^G для помощи. Блин, кто бы помог понять, что это значит...

На уроке вы на практике познакомитесь с различными подходами к построению интерфейса в терминале. На примере nano разберём всякие ^ и M-, на примере mcedit познакомимся ближе с функциональными клавишами и возможностью строить псевдографический интерфейс в терминале. Дополним изложение запуском графического блокнота прямо из терминала. На закуску вам будет vim. Или вы ему, тут как повезёт.

К концу занятия вы станете гуру редакторов текста в терминале.
Занятие 1.6 – Разбираемся с процессами, jobs, fg, bg, ps, grep и конвейером

Всё работа операционной системы сводится к управлению процессами. На занятии вы научитесь управлять любыми процессами: останавливать и продолжать, уводить в фон и даже убивать их. Да, команда kill к вашим услугам.

Наконец вы раскроете потенциал объединения нескольких команд в конвейер, познав азы Unix-философии. Зная несколько десятков команд, можно сделать практически что угодно с помощью их комбинации. На этом занятии мы смотрим только на базовый случай, но всё ещё впереди. На повестке занятия ещё и углубление в чтение мануалов. Квадратные и треугольные скобочки в справке вас более не напугают.
Занятие 1.7 – Настраиваем терминал "под себя"

Терминал в Linux – не только могущественное, но и приятное рабочее место. Он достаточно хорош "из коробки", но индивидуальная настройка может сделать жизнь в терминале ещё более комфортной. Полезные горячие клавиши быстро запоминаются и после небольшой практики начинают использоваться механически, без задействования головы.

Начнём мы с концепции переменных в bash, дальше рассмотрим полезные настройки оболочки bash и совсем немного заглянем в настройки рекомендуемого эмулятора терминала Terminator. Вы узнаете, что такое конфигурационные файлы и для чего они нужны. Ещё вы научитесь пользоваться удобным поиском по истории команд и добавлять псевдонимы (alias).

Можно пойти дальше и заменить дефолтную оболочку bash на что-то другое, например fish или zsh. В этом случае вы получите ещё более увлекательный пользовательский опыт, но жертвой станет совместимость с POSIX. В результате ваши скрипты можно будет запустить только с помощью сторонней оболочки, что не всегда удобно.
Занятие 1.8 – Разграничение прав доступа и работа с учётными записями

В завершающем занятии курса мы сфокусируемся на многопользовательской работе в Linux. Вы освоите переключение между пользователями, разберётесь с командой sudo и попробуете создание учётных записей пользователей, в том числе с использованием /etc/skel. Следом разберёте типы файлов, права доступа для файлов и каталогов, начиная от базовых rwx до особых прав SUID, SGID, sticky-bit. Погрузитесь в технические детали процесса, а именно реальные и эффективные права. Познакомитесь с особыми правами доступа и отработаете всё вышеперечисленное на практике.