Базовые принципы Linux и основные понятия
Семейство ОС Linux: философия Unix и базовые понятия
Linux - это...
... семейство Unix-подобных операционных систем на базе ядра Linux, включающих тот или иной набор утилит и программ проекта GNU и, возможно, другие компоненты.
Философия Unix: Unix-Way
«Делайте что-то одно, но делайте это хорошо»
Базовые понятия
Файл - именованная область данных на носителе информации (например, жестком диске или в оперативной памяти).
Файлами также считаются:
- области данных (необязательно на диске);
- устройства — как физические, например, порты или принтеры, так и виртуальные (/dev/null, /dev/random, /dev/urandom);
- потоки данных (именованный канал);
- сетевые ресурсы, сокеты.
Типы файлов
Тип файла можно определить по первой букве вывода программы ls –l
:
f
— (или -) обыкновенный файл;l
— символьная ссылка;d
— директория;c
— символьное устройство;b
— блочное устройство;p
— pipe (FIFO) файл;s
— socket файл типа.
Процесс - программа, которая выполняется в текущий момент.
Поток выполнения - наименьшая единица обработки, исполнение которой может быть назначено ядром операционной системы.
Обратите внимание: поток является составляющей процесса, но не наоборот.
Иерархия файловой системы (где и что искать)
В файловой системе linux-систем нет дисков, как в Windows. Есть общий корень, который обозначается прямым слешем - '/'.
Структура является древовидной, что показано на рисунке ниже:
Назначение директорий (папок):
/bin
– исполняемые файлы;/sbin
– исполняемые файлы;/dev
– файлы устройств;/etc
– файлы конфигурации;/lib
– системные библиотеки;/home
– каталогипользователей;/root
– каталогсуперпользователя;/usr
– размещениеприложений;/var
– данные приложений;/tmp
– временный каталогсистемы;/var/tmp
– временныекаталоги приложений;/proc
– файловый интерфейсОС;/opt
– “Program Files” аналог;/mnt
– монтирование сетевыхФС;/media
– монтированиесъемных ФС;/boot
– загрузчик и ядросистемы;/sys
– интерфейс кустройствам ОС;/srv
– Web-размещениесайтов, FTP...
Права доступа
Для описания модели доступа рассмотрим следующую строку (вывод команды ls -l
, которая будет рассмотрена далее):
[file type][rwx][rwx][rwx] [file type] - параметр, который определяет тип файла (ранее были приведены возможные типы)
Далее следуют 3 тройки - они определяюь права доступа:
- первая тройка [rwx] - права доступа владельца файла
- вторая тройка [rwx] - права доступа группы файла
- третья тройка [rwx] - права доступа остальных пользователей
Параметры r, w, x принимают одно из значений "0" - если данное действие недоступно, или "1" - если действие доступно:
r
- read. Права на чтение;w
- write. Права на запись;x
- execute. Права исполение.
Если в тройке вместо одной из букв указан минус "-", то значит, что такое право отсутствует в данной тройке.
Пример:
-rwxr-x--x
Имеется обычный файл (указывает первый знак "-") со следующими правами:
- Владелец файла может его читать, изменять и исполнять;
- Группа файла может его читать и исполнять;
- Остальные пользователи могут только исполнять файл.
Данная тройка может обозначаться как 751, где:
- 7 = 111, rwx
- 5 = 101, r-x
- 1 = 001, --x
Для подробного ознакомления рекомендуем перевод статьи: Хабрахабр: Основы Linux от основателя Gentoo. Часть 3 (2/4): Модель прав доступа