<< Предыдущий раздел | /\ Содержание | >> Следующий раздел

Файловая система ОС Unix

Файловая система в Unix организована в виде единого дерева директорий. Никаких букв дисков (a:, c:) здесь нет, а если используется несколько физических дисков (например, первый жесткий диск, второй, CD-ROM и т.д.) то они представляются отдельными ветвями на общем дереве.

Директории разделяются косой чертой "/" (а не обратной, как в Dos), например, "/home/inpunix/ivanov/" -- поддиректория "ivanov" в директории "inpunix" директории "home". Самая верхняя директория ("корневая") называется "/".

Какие разрешаются имена:

Хотя единственный символ, которого не может быть в имени, это "/" (поскольку это разделитель директорий), лучше не слишком увлекаться, и стараться не делать имен с пробелами, и не злоупотреблять различием в регистре букв -- это только внесет лишнюю путаницу. Также лучше не называть файлы по-русски.

В каждой директории есть поддиректория ".", являющаяся ссылкой на саму директорию и "..", являющаяся ссылками директорию уровнем выше.

Файлы, имена которых начинаются c точки (включая . и ..), считаются "неинтересными", и в листинге директории обычно не показываются.

Атрибуты файла

Для просмотра листинга директории используется команда ls, и с ключиком "-l" она выдает "детальный" листинг, со всеми атрибутами файла:

bobby:~% ls -l netscape.ps 
-rw-r--r--   1 ivanov   lab5       380609 Jan 15 15:29 netscape.ps  

Поля в строке имеют следующий смысл:

Права доступа

Для файлов
r
право читать файл.
w
Право модифицировать файл (писать в него).
x
Право исполнять файл -- устанавливается у программ.
Для директорий
r
право читать список файлов в директории.
w
право модифицировать директорию (создавать и удалять из нее файлы); требует также наличия X.
x
право использовать файлы из директории. Если у директории установлен только атрибут "x", то воспользоваться файлом можно, лишь зная заранее его имя, т.к. листинг директории посмотреть невозможно -- это полезно, например, чтобы home-директория была недоступна на чтение, а вот к поддиректории public_html мог бы обратиться любой.

Естественно, наличие атрибута "x" не дает права, к примеру, читать файл из такой директории, если у него нет атрибута "r".

Что любопытно, возможен режим доступа "rwx---rwx", когда "все остальные" могут делать с файлом что угодно, а члены группы -- нет (хотя, казалось бы, они тоже "остальные"), и даже "---rwxrwx", когда с файлом может что угодно делать любой, кроме владельца. Это происходит потому, что Unix сначала проверяет, к какой категории относится персона, запрашивающая доступ к файлу, а потом смотрит соответствующие права, не обращая внимания на остальные.


<< Предыдущий раздел | /\ Содержание | >> Следующий раздел