а для удаления обычных файлов
rmdir(
имя_
каталога);
(если каталог не пуст -
errno получит значение EEXIST); а для удаления обычных файлов (не каталогов)
unlink(
имя_
файла);
Программа должна запрашивать подтверждение на удаление каждого файла, выдавая его имя, тип, размер в килобайтах и вопрос "удалить ?".
* - Именно это имя показывает команда ps -ef
* - Собственно, операционная система характеризуется набором предоставляемых ею системных вызовов, поскольку все концепции, заложенные в системе, доступны нам
только
через них. Если мы имеем две реализации системы с
разным внутренним устройством ядер, но предоставляющие
одинаковый интерфейс системных вызовов (их набор, смысл и поведение), то это все-таки одна и та же система! Ядра могут не просто отличаться, но и быть построенными на совершенно различных принципах: так обстоит дело с UNIX-ами на однопроцессорных и многопроцессорных машинах. Но для нас ядро - это "черный ящик", полностью определяемый его
поведением, т.е. своим
интерфейсом с программами, но не внутренним устройством. Вторым параметром, характеризующим ОС, являются
форматы данных, используемые системой: форматы данных для сисвызовов и формат информации в различных файлах, в том числе формат оформления выполняемых файлов (формат данных
в
физической памяти машины в этот список не входит - он зависим от реализации и от процессора). Как правило, программа пишется так, чтобы использовать соглашения, принятые в данной системе, для чего она просто включает ряд стандартных include-файлов с описанием этих форматов.
Имена этих файлов также можно отнести к интерфейсу системы.
* - Таким как таблица процессов, таблица открытых файлов (всех вместе и для каждого процесса), и.т.п.
* - Суперпользователь (
superuser) имеет
uid==0. Это "привелегированный" пользователь, который имеет право делать ВСЕ. Ему доступны любые сисвызовы и файлы, несмотря на коды доступа и.т.п.
© Copyright А. Богатырев, 1992-95
Си в UNIX
| |
Содержание Назад Вперед