Данное руководство призвано структурировать фундаментальные представления об операционных системах семейства Linux. Оно будет особенно полезно разработчикам, продвинутым пользователям и системным администраторам, привыкшим к среде Windows, но столкнувшимся с необходимостью освоить Linux. Материал не претендует на энциклопедическую полноту, а служит надежной картой для дальнейшего самостоятельного изучения.
1. Что скрывается за именем «Linux»?
Когда говорят о Linux, обычно имеют в виду одно из двух:
Дистрибутивы GNU/Linux: полноценные операционные системы, собранные вокруг ядра (например, Ubuntu, Debian, CentOS, Red Hat).
Ядро Linux: «сердце» системы, которое часто поставляется вместе с базовым набором утилит GNU.
Важно понимать, что ядро Linux являетсямонолитным. В отличие от микроядер (которые содержат лишь минимальный набор функций: планировщик, управление памятью и механизмы межпроцессного взаимодействия), монолитное ядро включает в себя драйверы устройств, файловые системы и виртуальную файловую систему (VFS). Именно оно отвечает за управление процессами, памятью и обработку системных вызовов.
2. Базовые утилиты GNU (coreutils)
Это фундаментальный набор инструментов, присутствующий практически в любой сборке Linux. С их помощью выполняются повседневные операции:
ls — вывод содержимого каталога;
cp / mv — копирование и перемещение (или переименование) файлов;
rm / rmdir — удаление файлов и пустых директорий;
mkdir — создание новых папок;
chmod / chown — управление правами доступа и смена владельца файла;
df / du — оценка свободного и занятого дискового пространства;
touch — создание пустого файла или обновление его временных меток.
3. Командная оболочка (Shell)
Bash (Bourne Again Shell) — это стандартный интерпретатор командной строки в большинстве дистрибутивов (RHEL, CentOS и др.). Если в Windows вы привыкли к cmd или PowerShell, то в Linux мир оболочек гораздо разнообразнее. Помимо Bash, широко используются zsh, dash (в Debian/Ubuntu) и другие. Все они совместимы со стандартом POSIX, но имеют свои уникальные особенности и синтаксические улучшения.
Далее вы узнаете про пакетные менеджеры, систему инициализации systemb, первое подключение к серверу, управление учетными записями, сетевые утилиты и другое.
4. Пакетные менеджеры
В Windows программы часто устанавливаются через скачивание .exe-файлов, которые размещают зависимости в своей папке. В Linux принят централизованный подход: пакетный менеджер не только устанавливает и обновляет ПО, но и автоматически разрешает зависимости, размещая общие библиотеки (файлы с расширением .so) в системных директориях для совместного использования разными программами.