УПРАВЛЕНИЕ ДИРЕКТОРИЯМИ Системные вызовы и библиотеки Unix SVR4.

Презентация:



Advertisements
Похожие презентации
УПРАВЛЕНИЕ ДИРЕКТОРИЯМИ Системные вызовы и библиотеки Unix SVR4 Иртегов Д.В. ФФ/ФИТ НГУ Электронный лекционный курс подготовлен в рамках реализации Программы.
Advertisements

УПРАВЛЕНИЕ ФАЙЛАМИ Системные вызовы и библиотеки Unix SVR4.
ЗАХВАТ ФАЙЛОВ И ЗАПИСЕЙ Системные вызовы и библиотеки Unix SVR4.
СИСТЕМНЫЕ ВЫЗОВЫ ВВОДА И ВЫВОДА Системные вызовы и библиотеки Unix SVR4.
ЗАХВАТ ФАЙЛОВ И ЗАПИСЕЙ Системные вызовы и библиотеки Unix SVR4 Иртегов Д.В. ФФ/ФИТ НГУ Электронный лекционный курс подготовлен в рамках реализации Программы.
Работа с файлами FILE НГТУ ИРИТ кафедра ИСУ Ольга Пронина.
Средства System V IPC Системные вызовы и библиотеки Unix SVR4.
РНР Изучение языка. Работа с файлами Для длительного хранения данных в файловой системе сервера часто используются обычные текстовые файлы. Открыть файл.
Программирование на языке Паскаль Работа с файловой системой.
Операционные системы Файловые системы (часть 2). Организация ФС UNIX. Виды файлов Обычный файл (regular file) Каталог (directory) Специальный файл устройств.
ПРОГРАММИРОВАНИЕ/ ЯЗЫКИ ПРОГРАММИРОВАНИЯ Лекция 3 Работа с файлами (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к.т.н. Поляков Артем.
ПРОГРАММИРОВАНИЕ/ ЯЗЫКИ ПРОГРАММИРОВАНИЯ Лекция 4 Работа с бинарными файлами (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к.т.н. Поляков.
Асинхронный ввод/вывод Системные вызовы и библиотеки Unix SVR4 Иртегов Д.В. ФФ/ФИТ НГУ Электронный лекционный курс подготовлен в рамках реализации Программы.
Файловый ввод-вывод Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» ФГОБУ ВПО "СибГУТИ"
Взаимодействие процессов: сокеты.
Потоки (файлы) Функции и типы для работы с потоками в стиле С описаны в модуле stdio.h. В отличие от Паскаля в С с потоком не связан тип данных. Поток.
3. Механизм сокетов 3.1. Общие концепции 3.2. Интерфейсные функции для работы с сокетом Создание сокета Связывание и установление соединения.
Средства System V IPC Системные вызовы и библиотеки Unix SVR4 Иртегов Д.В. ФФ/ФИТ НГУ Электронный лекционный курс подготовлен в рамках реализации Программы.
Текстовые файлы Вербицкая Ольга Владимировна, Заозерная школа 16.
Семафоры-счетчики POSIX Программирование с использованием POSIX thread library.
Транксрипт:

УПРАВЛЕНИЕ ДИРЕКТОРИЯМИ Системные вызовы и библиотеки Unix SVR4

СВОЙСТВА ДИРЕКТОРИИ используется для организации обычных файлов, программных каналов, специальных файлов и других директорий формат, требуемый операционной системой содержит имена файлов и inode-номера записи в директории называются связями нет ограничения глубины вложенности поддиректорий права доступа –r: право на чтение –w: право на запись –x: право на поиск

Системно-независимая структура записи в директории struct dirent { ino_t d_ino; /* "inode number" of entry */ off_t d_off; /* offset of disk directory entry */ unsigned short d_reclen; /* length of this record */ char d_name[1]; /* name of file */ };

Изменение текущей директории ИСПОЛЬЗОВАНИЕ #include int chdir(conts char *path); int fchdir(int fildes); ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ успех - 0 неуспех - -1 и errno установлена

Создание директории ИСПОЛЬЗОВАНИЕ #include int mkdir(const char *path, int mode); ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ успех - 0 неуспех - -1 и errno установлена

Удаление директории ИСПОЛЬЗОВАНИЕ #include int rmdir(conts char *path); ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ успех - 0 неуспех - -1 и errno установлена

Создание и удаление цепочки директорий ИСПОЛЬЗОВАНИЕ #include int mkdirp(conts char *path, int mode); int rmdirp(char *path, char *path1); ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ успех - 0 неуспех - mkdirp -1 и errno установлена rmdirp - -1, -2 или -3

Чтение директории ИСПОЛЬЗОВАНИЕ #include DIR *opendir(const char *filename); struct dirent *readdir(DIR *dirp); long teldir(DIR *dirp); void seekdir(DIR *dirp, long loc); void rewinddir(DIR *dirp); int closedir(DIR *dirp); ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ успех – opendir, readdir - указатель на структуру closedir - 0 telldir - текущая позиция неуспех - opendir, readdir - NULL и errno установлена telldir, closedir - -1 и errno установлена

Создание связи ИСПОЛЬЗОВАНИЕ #include int link(const char *path1, const char *path2); ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ успех - 0 неуспех - -1 и errno установлена

Жесткая связь

Создание символической связи ИСПОЛЬЗОВАНИЕ #include int symlink (const char *name1, const char *name2); ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ успех - 0 неуспех - -1 и errno установлена

Символическая связь

Чтение значения симлинка ИСПОЛЬЗОВАНИЕ #include int readlink(const char *path, void *buf, size_t bufsize); ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ успех - количество символов, считанных в буфер неуспех - -1 и errno установлена

Следование симлинкам следуют символическим связям open(2) chmod(2) chown(2) chgrp(2) chdir(2) stat(2) не следуют символическим связям lchown(2) readlink(2) lstat(2) link(2) unlink(2) rename(2) rmdir(2)

Удаление записи из директории ИСПОЛЬЗОВАНИЕ #include int unlink(const char *path); int remove( const char *filename); ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ успех - 0 неуспех - -1 и errno установлена

Переименование файла ИСПОЛЬЗОВАНИЕ #include int rename(const char *old, const char *new); ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ успех - 0 неуспех -1 и errno установлена

Разбор путевого имени ИСПОЛЬЗОВАНИЕ #include char *dirname(char *path); char *basename(char *path); ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ успех – компонент имени неуспех - NULL