В системе QNX к файлу данных можно обращаться, используя более одного имени файла. Каждое имя называется связью. (Фактически существует два вида связей: жесткие связи, которые мы будем называть просто "связями" и символические связи. Символические связи описаны в следующем разделе.)
Для поддержки связей каждого файла имя файла отделяется от информации, описывающей файл. Информация, не относящаяся к имени файла, хранится в структуре, называемой "индексным дескриптором" (inode).
Если файл имеет только одну связь (т.е. одно имя файла), информация индексного дескриптора (т.е. информация, не относящаяся к имени файла) хранится в элементе каталога данного файла.
Если файл имеет более одной связи, индексный дескриптор хранится как запись в специальном файле с именем /.inodes.
Обратите внимание на то, что связь файла можно создать только в том случае, если файл и связь находятся в одной и той же файловой системе.
![]() |
На один и тот же файл ссылаются две связи с именами "more" и "less". Рис. 21 |
Существует еще две ситуации, при которых файл может иметь вход в файл /.inodes:
Если вы хотите | Используйте |
Создать связь из интерпретатора Shell | Утилиту ln |
Создать связь из программы | Функцию Си link() |