1. Введение в архитектуру Linux, навигация в командной строке и работа с файлами
Введение в архитектуру Linux, навигация в командной строке и работа с файлами
Добро пожаловать на курс «Основы системного администрирования Linux». Это первая статья нашего цикла, и мы начнём с фундамента, на котором строится вся работа системного администратора. Мы разберём, как устроена операционная система Linux, почему командная строка — это ваш лучший друг, и как управлять файлами без использования мыши.
Что такое Linux и почему он так важен?
Linux — это не просто одна программа, а целое семейство операционных систем, работающих на базе ядра Linux. Сегодня Linux управляет всем: от суперкомпьютеров и серверов Google до вашего домашнего роутера и смартфона на Android. Для системного администратора знание Linux — это базовый навык выживания в профессии.
В отличие от Windows или macOS, где пользователь часто скрыт от внутренних процессов красивым графическим интерфейсом, Linux предоставляет прямой доступ к управлению «железом» и процессами. Это дает огромную гибкость, но требует понимания архитектуры.
Архитектура операционной системы Linux
Чтобы эффективно управлять системой, нужно понимать, из каких слоев она состоит. Представьте Linux как слоеный пирог.
!Диаграмма слоев архитектуры Linux: Железо, Ядро, Оболочка, Приложения
1. Аппаратное обеспечение (Hardware)
Это физическая основа: процессор, оперативная память, жесткие диски и сетевые карты. Сами по себе эти устройства не знают, как взаимодействовать друг с другом.2. Ядро (Kernel)
Это сердце системы. Ядро — это программа, которая напрямую общается с железом. Оно распределяет память, процессорное время и управляет драйверами устройств. Когда вы запускаете браузер, именно ядро выделяет ему оперативную память.> Linux is a kernel, not an operating system. > — Линус Торвальдс (создатель ядра Linux)
3. Оболочка (Shell)
Ядро говорит на сложном машинном языке. Чтобы человек мог отдавать команды ядру, нужен посредник. Этим посредником выступает Shell (оболочка). Это командный интерпретатор, который принимает ваши текстовые команды (например, «покажи файлы») и переводит их в инструкции для ядра.Самая популярная оболочка называется Bash (Bourne Again Shell), и именно с ней мы будем работать.
4. Утилиты и приложения
Это верхний уровень: текстовые редакторы, веб-серверы, базы данных и команды, которые мы вводим в терминале (например,ls или cp).Файловая система: всё есть файл
Одна из ключевых концепций Linux звучит так: «Всё есть файл». Это означает, что не только текстовые документы или картинки являются файлами, но и директории, устройства (например, жесткий диск или клавиатура) и даже процессы в памяти представлены в виде файлов.
В Windows мы привыкли к дискам: C: , D: . В Linux дисков в таком понимании нет. Есть единое дерево каталогов, которое начинается с корня.
!Иерархия файловой системы Linux, начинающаяся с корневого каталога
Основные директории
* / (Root) — корневой каталог. Начало всех начал.
* /bin (Binaries) — здесь лежат основные программы (команды), необходимые для работы системы (например, ls, cp).
* /home — здесь хранятся личные папки пользователей. Аналог C: Users в Windows.
* /etc — святая святых администратора. Здесь лежат конфигурационные файлы всей системы.
* /var (Variable) — файлы, которые часто меняются: логи (журналы событий), почта, временные файлы сайтов.
* /tmp — для временных файлов. Обычно очищается при перезагрузке.
Навигация в командной строке
Когда вы открываете терминал, вы видите приглашение командной строки. Обычно оно выглядит так:
* user — имя текущего пользователя.
* hostname — имя компьютера.
* ~ (тильда) — обозначение текущей директории. Тильда — это сокращение для домашней папки пользователя.
Где я нахожусь? (pwd)
Чтобы узнать полный путь к текущей директории, используйте команду pwd (Print Working Directory).
Вывод может быть таким: /home/student.
Что здесь лежит? (ls)
Команда ls (List) показывает содержимое текущей папки.
У этой команды есть полезные ключи (флаги):
* ls -l — показывает список в подробном формате (права доступа, владелец, размер, дата изменения).
* ls -a — показывает скрытые файлы. В Linux скрытым считается любой файл, имя которого начинается с точки (например, .bashrc).
* ls -la — комбинация ключей: подробный список, включая скрытые файлы.
Как перемещаться? (cd)
Команда cd (Change Directory) позволяет переходить между папками.
Существует два способа указать путь:
/. Это точный адрес, который сработает из любой точки системы.cd /var/log
/home, команда cd student перенесет вас в /home/student.Специальные символы навигации:
* . (одна точка) — текущая директория.
* .. (две точки) — родительская директория (на уровень выше).
Пример: чтобы выйти из папки на уровень вверх, введите:
Работа с файлами и директориями
Системный администратор постоянно создает, копирует и перемещает файлы. Рассмотрим базовый набор команд.
Создание (mkdir, touch)
Чтобы создать новую папку (директорию), используем mkdir (Make Directory):
Чтобы создать пустой файл, используем команду touch:
Копирование (cp)
Команда cp (Copy) требует два аргумента: что копируем и куда копируем.
Если нужно скопировать папку целиком, обязательно добавьте ключ -r (рекурсивно):
Перемещение и переименование (mv)
В Linux нет отдельной команды для переименования. Для этого используется команда перемещения mv (Move).
Перемещение файла в другую папку:
Переименование файла (перемещение «на месте»):
Удаление (rm)
Будьте осторожны! В командной строке Linux нет корзины. Удаленные файлы восстановить крайне сложно или невозможно.
Удаление файла:
Удаление папки и всего её содержимого (используется ключ -r):
Просмотр содержимого файлов
Не всегда нужно открывать файл в редакторе, чтобы узнать, что внутри. Для быстрого просмотра есть несколько утилит:
* cat filename — выводит всё содержимое файла на экран. Удобно для маленьких файлов.
* less filename — позволяет листать длинный файл. Для выхода нажмите клавишу q.
* head filename — показывает первые 10 строк файла.
* tail filename — показывает последние 10 строк файла. Очень полезно для просмотра свежих записей в логах.
Заключение
Сегодня мы познакомились с архитектурой Linux, узнали, что ядро управляет железом, а оболочка — это наш инструмент общения с ядром. Мы также научились ориентироваться в файловой системе и выполнять базовые операции с файлами.
В следующей статье мы углубимся в тему прав доступа, узнаем, что такое chmod и chown, и как защитить свои файлы от посторонних глаз. Практикуйтесь с командами, которые мы изучили, — это основа вашего мастерства.