Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
14
Добавлен:
12.02.2015
Размер:
319.95 Кб
Скачать

Права доступа в системе UNIX.

Права доступа к файлам устанавливаются для 3 - х категорий пользователей:

I Владелец файла.

Права доступа отображаются при просмотре каталога командой ls -l в виде символьной строки, которая формируется по следующему правилу: для каждой группы пользователей в строке прав доступа выделяется 3 символа, каждый из которых может принимать следующие значения:

Права доступа в системе UNIX.

Права доступа к файлам устанавливаются для 3 - х категорий пользователей:

IВладелец файла.

IУчастник группы пользователей.

Права доступа отображаются при просмотре каталога командой ls -l в виде символьной строки, которая формируется по следующему правилу: для каждой группы пользователей в строке прав доступа выделяется 3 символа, каждый из которых может принимать следующие значения:

Права доступа в системе UNIX.

Права доступа к файлам устанавливаются для 3 - х категорий пользователей:

IВладелец файла.

IУчастник группы пользователей.

IПрочие пользователи.

Права доступа отображаются при просмотре каталога командой ls -l в виде символьной строки, которая формируется по следующему правилу: для каждой группы пользователей в строке прав доступа выделяется 3 символа, каждый из которых может принимать следующие значения:

Пример:

rwxr − x − −x соответствует 111101001

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

0600 соответствует rw − − − − − −−.

Закрытие файла осуществляется функцией close(дескриптор).

Полный пример создания файла.

Чтение и запись данных.

Ввод - вывод данных на нижнем уровне осуществляется функциями read() и write(). Прототипы этих функций: int read(int fd, char *bu er, unsigned int count);

int write(int fd, char *bu er, unsigned int count);

Функция read() читает из файла с дескриптором fd count байт в буффер, определенный указателем bu er. Функция write() пишет в файл с дескриптором fd count байт из буффера, определенного указателем bu er.

Пример: Копирование произвольного файла. Программа получает имена файлов из командной строки при запуске и позволяет копировать произвольные файлы. Вызов программы из коммандной строки будет иметь вид: copyf.exe f1.dat f2.dat

Произвольный доступ к файлу.

Прототип функции lseek() имеет вид: long lseek(int fd, long o set, int origin);

Функция изменяет текущую позицию в файле, связанном с дескриптором fd, на новую, определяемую смещением o set, относительно выбранной точки отсчета origin.

Для определения текущей позиции используется функция tell(). Прототип имеет вид:

long tell(int fd);

Пример.

Соседние файлы в папке лекции проги