Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Уних (вопросы-ответы).doc
Скачиваний:
7
Добавлен:
23.04.2019
Размер:
394.75 Кб
Скачать

13. Иерархия файлов и каталогов в ос Unix.

Файловая система UNIX характеризуется:

  • иерархической структурой,

  • согласованной обработкой массивов данных,

  • возможностью создания и удаления файлов,

  • динамическим расширением файлов,

  • защитой информации в файлах,

  • трактовкой периферийных устройств (таких как терминалы и ленточные устройства) как файлов.

Файловая система организована в виде дерева с одной исходной вершиной, которая называется корнем (записывается: "/"); каждая вершина в древовидной структуре файловой системы, кроме листьев, является каталогом файлов, а файлы, соответствующие дочерним вершинам, являются либо каталогами, либо обычными файлами, либо файлами устройств. Имени файла предшествует указание пути поиска, который описывает место расположения файла в иерархической структуре файловой системы. Имя пути поиска состоит из компонент, разделенных между собой наклонной чертой (/); каждая компонента представляет собой набор символов, составляющих имя вершины (файла), которое является уникальным для каталога (предыдущей компоненты), в котором оно содержится. Полное имя пути поиска начинается с указания наклонной черты и идентифицирует файл (вершину), поиск которого ведется от корневой вершины дерева файловой системы с обходом тех ветвей дерева файлов, которые соответствуют именам отдельных компонент.

Программы, выполняемые под управлением системы UNIX, не содержат никакой информации относительно внутреннего формата, в котором ядро хранит файлы данных, данные в программах представляются как бесформатный поток байтов. Программы могут интерпретировать поток байтов по своему желанию, при этом любая интерпретация никак не будет связана с фактическим способом хранения данных в операционной системе.

Каталоги похожи на обычные файлы в одном отношении; система представляет информацию в каталоге набором байтов, но эта информация включает в себя имена файлов в каталоге в объявленном формате для того, чтобы операционная система и программы, такие как ls (выводит список имен и атрибутов файлов), могли их обнаружить.

Права доступа к файлу регулируются установкой специальных битов разрешения доступа, связанных с файлом. Устанавливая биты разрешения доступа, можно независимо управлять выдачей разрешений на чтение, запись и выполнение для трех категорий пользователей: владельца файла, группового пользователя и прочих. Пользователи могут создавать файлы, если разрешен доступ к каталогу. Вновь созданные файлы становятся листьями в древовидной структуре файловой системы.

Для пользователя система UNIX трактует устройства так, как если бы они были файлами. Устройства, для которых назначены специальные файлы устройств, становятся вершинами в структуре файловой системы. Обращение программ к устройствам имеет тот же самый синтаксис, что и обращение к обычным файлам; семантика операций чтения и записи по отношению к устройствам в большой степени совпадает с семантикой операций чтения и записи обычных файлов.

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

Имя файла (и директории) может содержать практически любые символы, включая пробелы (и даже управляющие символы, типа перевода строки, если удастся их ввести).

У программ не требуется какое-либо специальное расширение, типа .exe -- достаточно установить атрибут "x".

Заглавные и маленькие буквы различаются; так,

report.txt

REPORT.TXT

Report.txt

RePorT.tXt

это четыре разных имени.

В отличие от Dos/Windows, нет зарезервированных имен, таких, как con, com1 и т.д. Вместо них есть сответствующие файлы устройств в директории /dev: Файл в Dos Устройство в Unix Назначение

con /dev/tty Консоль

nul /dev/null Пустота

com1 /dev/ttyS0 Первый последовательный порт

lpt1 /dev/lp0 Первый параллельный порт

У программ не требуется какое-либо специальное расширение, типа .exe -- достаточно установить атрибут "x" (см. ниже).

Длина имени может быть до 255 символов; полный путь (включая директории) -- 1024 символа.

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

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

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