Читать онлайн «Системное программирование в UNIX средствами Free Pascal»

Автор А. Полищук

114736159 \h 13
1. 1. Файл  PAGEREF _Toc114736160 \h 13
1. 1. 1. Каталоги и пути  PAGEREF _Toc114736161 \h 13
1. 1. 2. Владелец файла и права доступа  PAGEREF _Toc114736162 \h 14
1. 1. 3. Обобщение концепции файла  PAGEREF _Toc114736163 \h 14
1. 2. Процесс  PAGEREF _Toc114736164 \h 15
1. 2. 1. Межпроцессное взаимодействие  PAGEREF _Toc114736165 \h 15
1. 3. Системные вызовы и библиотечные подпрограммы  PAGEREF _Toc114736166 \h 15
Глава 2. Файл  PAGEREF _Toc114736167 \h 17
2. 1. Примитивы доступа к файлам в системе UNIX  PAGEREF _Toc114736168 \h 17
2. 1. 1. Введение  PAGEREF _Toc114736169 \h 17
2. 1. 2. Системный вызов fdopen  PAGEREF _Toc114736170 \h 18
2. 1. 3. Создание файла при помощи вызова fdopen  PAGEREF _Toc114736171 \h 20
2. 1. 4. Системный вызов fdcreat  PAGEREF _Toc114736172 \h 22
2. 1. 5. Системный вызов fdclose  PAGEREF _Toc114736173 \h 22
2. 1. 6. Системный вызов fdread  PAGEREF _Toc114736174 \h 23
2. 1. 7. Системный вызов fdwrite  PAGEREF _Toc114736175 \h 26
2. 1. 8. Пример copyfile  PAGEREF _Toc114736176 \h 27
2. 1. 9. Эффективность вызовов fdread и fdwrite  PAGEREF _Toc114736177 \h 29
2. 1. 10. Вызов fdseek и произвольный доступ  PAGEREF _Toc114736178 \h 30
2. 1. 11. Пример: гостиница  PAGEREF _Toc114736179 \h 31
2. 1. 12. Дописывание данных в конец файла  PAGEREF _Toc114736180 \h 33
2. 1. 13. Удаление файла  PAGEREF _Toc114736181 \h 34
2. 1.
14. Системный вызов fcntl  PAGEREF _Toc114736182 \h 34
2. 2. Стандартный ввод, стандартный вывод и стандартный вывод диагностики  PAGEREF _Toc114736183 \h 35
2. 2. 1. Основные понятия  PAGEREF _Toc114736184 \h 35
2. 2. 2. Программа io  PAGEREF _Toc114736185 \h 36
2. 2. 3. Использование стандартного вывода диагностики  PAGEREF _Toc114736186 \h 38
2. 3. Стандартная библиотека ввода/вывода: взгляд в будущее  PAGEREF _Toc114736187 \h 38
2. 4. Системные вызовы и переменная linuxerror  PAGEREF _Toc114736188 \h 41
2. 4. 7. Подпрограмма perror  PAGEREF _Toc114736189 \h 41
Глава 3. Работа с файлами  PAGEREF _Toc114736190 \h 43
3. 1. Файлы в многопользовательской среде  PAGEREF _Toc114736191 \h 43
3. 1. 1. Пользователи и права доступа  PAGEREF _Toc114736192 \h 43
3. 1. 2. Права доступа и режимы файлов  PAGEREF _Toc114736193 \h 44
3. 1. 3. Дополнительные права доступа для исполняемых файлов  PAGEREF _Toc114736194 \h 45
3. 1. 4. Маска создания файла и системный вызов umask  PAGEREF _Toc114736195 \h 46
3. 1. 5. Вызов fdopen и права доступа к файлу  PAGEREF _Toc114736196 \h 48
3. 1. 6. Определение доступности файла при помощи вызова access  PAGEREF _Toc114736197 \h 48
3. 1. 7. Изменение прав доступа при помощи вызова chmod  PAGEREF _Toc114736198 \h 49
3. 1. 8. Изменение владельца при помощи вызова chown  PAGEREF _Toc114736199 \h 50
3. 2. Файлы с несколькими именами  PAGEREF _Toc114736200 \h 50
3. 2. 1. Системный вызов link  PAGEREF _Toc114736201 \h 51
3. 2. 2. Системный вызов unlink  PAGEREF _Toc114736202 \h 51
3. 2. 3. Системный вызов frename  PAGEREF _Toc114736203 \h 52
3. 2. 4.