Начинать знакомство с операционной системой лучше в целом, без рассмотрения конкретных программ и приложений. Для начала приведём перечень основных понятий, которые необходимо знать для работы с Linux. (С) Балабоба, нейросеть Яндекса.
Ядро
Программа, расположенная в памяти компьютера и отдающая распоряжения центральному процессору. Управляет аппаратными средствами и выступает в качестве интерфейса системных вызовов между ними и любой другой программой.
Процессы
Запущенные программы, которыми управляет ядро. На верхнем уровне это приложения, с которыми непосредственно работает пользователь. На нижнем уровне это службы, выполняющие самые простые задачи. А между ними - сервисные программы.
Пользователь
Сущность, которая может запускать процессы и обладать файлами. У каждого пользователя есть имя, но ядро Linux различает их по числовому идентификатору. Главным пользователем системы является root, которому позволено больше остальных.
Пространство пользователя
Область оперативной памяти, которую ядро отводит для пользовательских процессов.
Файл
Именованная структура данных, организованная в виде линейной последовательности байт. Обычно служит в качестве хранилища информации на каком-либо физическом носителе, но в Linux реализован подход «всё есть файл», позволяющий взаимодействовать с любым устройством как файлом.
Файловая система
Таблица данных, которая задаёт связи между файлами и каталогами, а также идентифицирует их местоположения в пространстве устройства. В Linux обычно эта система — ext4.
Каталог
Файл, в котором содержится таблица соответствия имён файлов индексным дескрипторам. Когда пользователь отправляет запрос на открытие файла с указанным именем, ядро открывает каталог, в котором содержится такое имя и получает индексный дескриптор, по которому определяет область устройства где хранятся данные этого файла.
Структура каталогов Linux
Стандарт иерархии файловой системы (File Hierarchy Standard, FHS), согласно которому адреса всех файлов начинаются с корневого каталога, обозначаемого «/». Непосредственно в корневом каталоге располагаются каталоги верхнего уровня различного назначения:
- /etc, файлы конфигурации программ и сервисов;
- /var, часто меняющиеся данные, логи, временные файлы;
- /home, файлы пользователя;
- /sbin, системные двоичные файлы, которые могут быть запущены пользователем root;
- /bin, пользовательские двоичные файлы, основные программы;
- /lib, файлы библиотек, необходимых для основных программ;
- /usr, программы пользователя;
- /boot, загрузчик и ядро системы;
- /dev, файлы, представляющие устройства;
- /media, каталоги, предоставляющие доступ к съёмным устройствам хранения;
- /opt, файлы проприетарных программ;
- /proc, файлы, представляющие информацию о ядре и процессах.