[ Страница назад | Страница вперед | Содержание | Индекс | Домой | Юридическая информация | Поиск ]

Руководство пользователя: Операционная система и устройства


Типы файлов

Существует три основных типа файлов:

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

Система распознает только файлы этих типов. Однако в операционной системе также применяются многие производные типы файлов.

Стандартные файлы

Большая часть файлов относится к стандартному типу. Другое название стандартных файлов - обычные файлы. Стандартные файлы предназначены для хранения данных.

Текстовые файлы

Текстовые файлы - это стандартные файлы, содержащие информацию, которая может быть прочитана пользователем. Такие файлы хранят данные в формате ASCII. Их можно просмотреть или напечатать. Строки текстовых файлов не должны содержать символ NUL, а их длина с учетом символа новой строки не может превышать значение {LINE_MAX} байт.

Текстовый файл может содержать управляющие и непечатаемые символы (отличные от NUL). Если стандартная служебная программа получает текстовый файл на вход или записывает его в качестве вывода, то она должна уметь обрабатывать встреченные специальные символы. В противном случае, в описании этой программы должны быть явно заданы ограничения, которые накладываются на входные текстовые файлы.

Двоичные файлы

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

Единственное различие между текстовыми и двоичными файлами состоит в том, что текстовые файлы разбиты на строки, не содержащие символа NUL и заканчивающиеся символом новой строки, длина которых не превосходит {LINE_MAX} байт.

Файлы каталогов

Файлы каталогов содержат информацию, которая необходима системе для доступа к файлам всех типов, но при этом в них не хранится сама информация из файлов. В результате каталоги занимают меньше места, чем стандартные файлы. Кроме того, каталоги позволяют создать гибкую многоуровневую структуру файловой системы. Каждая запись каталога связана с файлом или подкаталогом и содержит имя файла и номер индексного дескриптора файла (номер i-узла). Номер i-узла ссылается на уникальный индексный дескриптор, присвоенный файлу. В индексном дескрипторе описано физическое расположение данных, связанных с файлом. Для создания каталогов и управления ими предназначен отдельный набор команд.

Дополнительная информация приведена в разделе Обзор каталогов.

Специальные файлы

К специальным файлам относятся файлы устройств и временные файлы, создаваемые процессами. Существует три основных типа специальных файлов: FIFO (first-in, first-out), блочные и символьные. Файлы FIFO также называются каналами. Канал создается на ограниченное время одним процессом для обмена данными с другим процессом. Такие файлы удаляются после завершения работы первого процесса. Блочные и символьные файлы определяют устройства.

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

Дополнительная информация о правах доступа к файлам приведена в разделе Права доступа к файлам и каталогам.

Соглашения о присвоении имен файлам

Имя каждого файла должно быть уникальным в каталоге, где он хранится. Таким образом обеспечивается уникальность пути к файлу в системе. Существуют следующие основные правила присвоения имен файлам:

Пути к файлам

Путь к объекту файловой системе состоит из имен всех каталогов, которые расположены выше данного файла или каталога в дереве каталогов.

Любой путь в файловой системе начинается с корневого каталога /, поэтому для любого файла существует уникальный путь от корневого каталога, или полный путь. Имя полного пути начинается с косой черты (/). В приведенном примере файловой системы полный путь к файлу h - /B/C/h. Обратите внимание, что в этой файловой системе есть два файла с именем g. Однако поскольку полные пути к файлам различны (/B/g и /B/C/g), то у каждого файла с именем g есть уникальное полное имя. Все компоненты пути файла, за исключением последнего, - это каталоги. Последний компонент пути может представлять собой имя файла.

Примечание: Длина пути не может превышать 1023 символа.

Выбор по шаблону, содержащему символы подстановки и метасимволы

Шаблон с символами подстановки позволяет задать сразу несколько имен файлов или каталогов. Символы подстановки - звездочка (*) и вопросительный знак (?). Метасимволы - квадратные скобки ([]), дефис (-) и восклицательный знак (!).

Символ подстановки *

Символ * заменяет любую последовательность или строку символов (ноль и более символов). Например, если в вашем каталоге расположены файлы:

1test 2test afile1 afile2 bfile1 file file1 file10 file2 file3   

и вам нужно указать файлы, имена которых начинаются со слова file, то введите:

file*

Будут выбраны файлы: file file1 file10 file2 file3

Если вы хотите указать файлы, в имени которых содержится слово file, то введите:

*file*

Будут выбраны файлы: afile1 afile2 bfile1 file file1 file10 file2 file3

? Символ подстановки

Символ ? заменяет любой символ. Символ ? Символ ? соответствует любому одному символу.

Если вы хотите сослаться на файлы, имена которых начинаются со слова file, после которого указан любой символ, то введите:

file?

Будут выбраны файлы: file1 file2 file3

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

file??

Будет выбран файл file10

Метасимволы оболочки [ ]

Метасимволы представляют собой другой тип символов подстановки. В данном случае нужные символы заключаются в скобки [ ]. Действие таких метасимволов аналогично действию символа ?, однако эта конструкция заменяет любой символ, заключенный в скобки. Внутри скобок [ ] можно задать интервал значений с помощью дефиса (-). Конструкция [[:alpha:]] заменяет любой символ алфавита. Конструкция [[:lower:]] заменяет любую прописную букву алфавита.

Если вы хотите сослаться на файлы, имя которых заканчиваются на 1 или 2, введите:

*file[12]

Будут выбраны файлы: afile1 afile2 file1 file2

Если вы хотите сослаться на файлы, имена которых начинаются с цифры, введите:

[0123456789]* или [0-9]*

Будут выбраны файлы: 1test 2test

Если вы хотите сослаться на файлы, имена которых не начинаются с буквы a, введите:

[!a]*

Будут выбраны файлы: 1test 2test bfile1 file file1 file10 file2 file3

Сравнение шаблонов и регулярных выражений

Регулярные выражения предназначены для выбора отдельных строк из набора символьных строк. Чаще всего регулярные выражения применяются при обработке текстов.

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

Ниже приведены примеры сравнения шаблонов и регулярных выражений:

ШаблонРегулярное выражение

*                       .*

?                        .

[!a]                     [^a]

[abc]                    [abc]

[[:alpha:]]              [[:alpha:]]

Полный синтаксис приведен в описании команды awk в книге AIX 5L Version 5.1 Commands Reference.

Связанная информация

Обзор команд

Обзор процессов

Глава 4, Перенаправление ввода и вывода

Глава 11, Оболочки

Файловые системы

Обзор каталогов

Связывание файлов и каталогов

Файлы DOS

Глава 7, Принтеры,задания и очереди печати

Глава 8, Резервное копирование и носители

Глава 9, Защита системы и файлов


[ Страница назад | Страница вперед | Содержание | Индекс | Домой | Юридическая информация | Поиск ]