Введение в Linux и Bash. Курс
Курс "Введение в Linux и Bash" – серия статей-уроков, знакомящих с историей, особенностями и философией операционных систем GNU/Linux, принципами работы в режиме командной строки и основными командами, выполняемыми в Bash.
Курс будет полезен начинающим пользователям операционной системы GNU/Linux, будущим системным администраторам и веб-разработчикам, планирующим самостоятельно развертывать сайты на веб-серверах.
Текущая версия курса: декабрь 2022 г.
История Linux
Кратко рассматриваются предпосылки возникновения операционной системы Linux и ее развитие: историческая значимость Unix, роль проекта GNU, как появилось ядро Linux, многообразие дистрибутивов.Свободное ПО и копилефт
GNU GPL - одна из разновидностей копилефт-лицензий для свободного программного обеспечения. В статье рассматриваются исторические причины появления копилефт-лицензий и преимущества открытого и свободного ПО.Ядро Linux
Что такое ядро операционной системы, особенности Unix-подобных ядер, в том числе Linux. Понятие о дистрибутивах GNU/Linux.Каталоги Linux
Понятие о корневом каталоге, стандарт файловой иерархии unix-подобных систем, назначение основный директорий Linux (/home, /bin/, /boot и др.)Типы файлов Linux
Типы файлов Linux: обычные файлы (-), каталоги (d), символьные ссылки (l), символьные (c) и блочные (b) устройства, каналы (p) и сокеты (s). В Linux расширение файла не несет информации для ОС о типе файла.Интерфейс командной строки
Интерфейс командной строки - иной, отличный от графического режима, способ работы в операционной системе, при котором команды отдаются с помощью их ввода с клавиатуры. Исторически CLI возник раньше GUI.Bash – командная оболочка Linux
Bash - это наиболее распространенная командная оболочка для Linux. Bash позволяет работать в интерфейсе командной строки операционной системы, отдавая команды в интерактивном режиме.Параметры команд
Команды Bash могут содержать параметры. Ключи, или опции, модифицируют работу программы. Аргументы, или операнды, - то, над чем выполняется команда.Ctrl + C, Ctrl + D, Ctrl + Z
В терминале Ctrl + C и Ctrl + D прерывают работу программ, Ctrl + Z - останавливает и переводит в фоновый режим. Чтобы сделать фоновую задачу текущей, используется команда fg. Для удаления процессов - команда kill.История команд и автодополнение
В Bash история команд прокручивается стрелками вверх и вниз, для автозавершения команд и адресов используется Tab - клавиша табуляции. История команд и автодополнение облегчают ввод с клавиатуры.Перенаправление ввода-вывода
В Bash с помощью знака больше > вывод команды можно перенаправить в файл. С помощью знака меньше < изменяется стандартный поток ввода. Программные каналы организуются с помощью знака |.Документация Linux
В Bash доступ к документации программ GNU/Linux можно получить с помощью программ man, info, ключа --help. Man-страницы имеют строгую структуру, info - неофициальная документация.Команда cd. Абсолютная и относительная адресация
Для перехода по дереву каталогов в Bash используется команда cd, которая в качестве аргумента принимает абсолютный или относительный адрес каталога, который делает текущим.Команда ls – просмотр каталога
Команда ls используется в командной оболочке Linux для вывода содержимого каталогов и информации о файлах. У программы ls есть много ключей, позволяющих получать о файлах более подробную информацию, а также выводить ее в различных форматах.Копирование, перемещение, создание и удаление файлов и каталогов
В командной оболочке Bash команда cp копирует файл, mv - перемещает и переименовывает, mkdir - создает каталог, rm - удаляет. При копировании и перемещении сначала указывается источник, потом место назначения.Жесткие и символьные ссылки
В Linux каждый файл идентифицируется числовым индексным дескриптором. Имена файлов указывают на дескрипторы и являются жесткими ссылками. Символьные ссылки указывают на жесткие ссылки.Создание ссылок в Linux
В командной оболочке Linux жесткие ссылки на файлы создаются с помощью команды ln. Для создания символьных ссылок на файлы и каталоги используется команда ln -s.Права доступа к файлам и каталогам
В Unix-подобных ОС для файлов устанавливаются биты прав доступа на чтение, изменение и выполнение по отношению к трем категориям: владельцу, группе и остальным. Права могут выставляться с помощью букв (rwx) и чисел.Команда chmod – изменение прав доступа
С помощью команды chmod изменяют права доступа к файлам и каталогам. Может использоваться как символьный, так и числовой способ назначения прав.Шаблоны имен файлов
В шаблонах имен файлов любое количество любых символов обозначается звездочкой *. Любой один символ - знаком вопроса ?. Если надо задать только определенные допустимые символы, то используются квадратные скобки [].Поиск файлов. Команда find
В Bash поиск файлов выполняется командой find. Сначала указывается каталог, потом свойство и его значение. Например, find . -name "*.html" ищет файлы html в текущем каталоге.Команда sudo – администрирование системы
Утилита sudo позволяет выполнить команду с правами администратора системы. В Bash сначала пишется sudo, затем команда и ее параметры.Пакетный менеджер APT
В Linux установка программ выполняется с помощью пакетных менеджеров. Наиболее популярным является apt. Команда установки: apt install. Команда удаления: apt remove.
Курс с ответами к заданиям и дополнительными уроками в PDF