Структура файловой системы Unix

Файловая система ОС Unix имеет иерархическую (древовидную) структуру, основанием которой является корневой каталог, который имеет имя /. Корневой каталог файловой системы Unix всегда один. Расположение файлов в файловом дереве не определяется их расположением на том или ином физическом или логическом диске. Файловые структуры, находящиеся на различных дисках, в том числе на дисках других компьютеров, с помощью специальной команды (mount) монтируются на файловое дерево Unix, становясь частью единого файлового дерева. Все операции над файлами с точки зрения пользователя выполняются одинаковым образом, независимо от их физического месторасположения.


Kорневой каталог Unix обычно содержит такие каталоги, как:

bin для наиболее используемых команд;
boot загрузчик операционной системы;
dev для специальных файлов, представляющих устройства (дисплеи, диски, CD-ROM, принтеры и т.п.);
etc для хранения большинства конфигурационных файлов системы;
home для хранения домашних каталогов пользователей;
lib важнейшие библиотеки;
mnt для подключения новых файловых систем;
tmp для хранения временных файлов;
usr содержит каталоги и обычные файлы, содержащие информацию, привлекаемую при решении задач пользователя, а также большинство стандартных программ;
var содержит буферные каталоги, файлы регистрации, учетную информацию, базы данных и другие данные, которые быстро разрастаются и изменяются.

Последовательность имен каталогов, разделенных символом «/», ведущая от некоторого каталога к каталогу, в котором располагается данный файл, называется маршрутом к этому файлу. Последовательность имя_маршрута/имя_файла называется путевым именем файла. Если путевое имя отсчитывается от корневого каталога, оно называется абсолютным (полным), в противном случае – относительным.

Например, каталог /usr, кроме прочего, содержит такие каталоги, как:

bin хранит дополнительные команды;
include хранит фрагменты системных программ;
lib хранит дополнительные библиотеки.

Полные имена этих каталогов будут такими: /usr/bin, /usr/include и /usr/lib

Если в каталоге /usr/bin содержится файл perl, то полное имя файла perl будет таким: /usr/bin/perl

Если же пользователь в данный момент находится в каталоге /usr файловой системы и ему необходимо открыть файл /usr/include/sys/conf, то он может обратиться к этому же файлу по относительному имени: include/sys/conf

Существует два специальных имени:

. это имя текущего каталога;
.. это имя родительского каталога (т.е. каталога, находящегося на уровень выше данного на пути к корневому каталогу).

В качестве имен файлов, как правило, может использоваться любая последовательность из букв, цифр и спецсимволов, кроме символа «/». Причина этого ограничения очевидна: данный символ используется как разделитель имен в составе пути, поэтому не должен встречаться в самих именах. Длина имени ограничивается 256 символами. Прописные и строчные буквы в именах файлов различаются. Например, файл myfile и файл myFile – это разные файлы. Имя файла может включать в себя расширение, обычно используемое для указания на тип файла. Расширение определяется как часть имени файла, располагающаяся после последней точки. Файлы, имена которых начинаются с точки, являются скрытыми.

Есть несколько символов, допустимых в именах файлов и каталогов, которые нужно использовать с осторожностью. Это так называемые спецсимволы: «*», «\», «&», «<», «>», «;», «(«, «)», «|», а также символы пробела и табуляции. Дело в том, что эти символы имеют специальное значение, поэтому нужно будет специально позаботиться о том, чтобы эти символы воспринимались как часть имени файла или каталога. Для этого необходимо предварить спецсимвол символом «\» (обратный слэш).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: