5.1.5. Удаление файла

5.1.5. Удаление файла

Удаление файла означает удаление элемента каталога для файла и уменьшение счетчика ссылок на файл, который содержится в индексе. Содержимое файла и дисковые блоки, в котором оно размешается, не освобождаются до тех пор, пока счетчик ссылок не достигнет нуля.

Системный вызов называется unlink():

#include <unistd.h> /* POSIX */

int unlink(const char *pathname);

В нашем обсуждении ссылок на файлы имя имеет смысл; этот вызов удаляет данную ссылку (элемент каталога) для файла. Она возвращает 0 в случае успеха и -1 при ошибке. Возможность удаления файла требует права записи лишь для каталога, а не для самого файла. Этот факт может сбивать с толку, особенно начинающих пользователей Linux/Unix. Однако, поскольку операция в каталоге одна, это имеет смысл; меняется именно содержимое каталога, а не содержимое файла[52].

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Удаление записей

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю


Удаление

Из книги Pinnacle Studio 11 автора Чиртик Александр Анатольевич

Удаление Когда длительность фильма, редактируемого в Pinnacle Studio, велика (полчаса, час и более), файлы проекта могут занимать на диске очень много места. Когда часть проектов становится ненужной (фильм создан, DVD или видеокассеты записаны), их можно удалить. Для удаления


Установка размера файла, инициализация файла и разреженные файлы

Из книги Системное программирование в среде Windows автора Харт Джонсон М

Установка размера файла, инициализация файла и разреженные файлы Функция SetEndOfFile позволяет переустановить размер файла, используя текущее значение указателя файла для определения его размера. Возможно как расширение, так и усечение файла. В случае расширения файла


25.4.2. Удаление записей

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

25.4.2. Удаление записей Удаление записей из базы данных осуществляется путем вызова функции dpout() и передачи ей ключа, данные которого необходимо удалить.int dpout(DEPOT * depot, const char * key, int keySize);Заданный ключ и связанные с ним данные удаляются из базы, после чего возвращается


10.11. Удаление каталога

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

10.11. Удаление каталога ПроблемаТребуется удалить каталог, причем эта операция должна быть переносимой, т.е. в ней не должен использоваться специфичный для конкретной ОС программный интерфейс.РешениеНа большинстве платформ вы сможете воспользоваться системным вызовом


Удаление граней

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

Удаление граней Для удаления граней команду редактирования тел SOLIDEDIT следует вызывать из падающего меню Modify ? Solid Editing ? Delete faces или щелчком на пиктограмме Delete faces на плавающей панели инструментов Solid Editing. При этом в команде используются ключи Face, Delete.При использовании


Удаление домена

Из книги Linux программирование в примерах автора Роббинс Арнольд

Удаление домена Оператор DROP DOMAIN удаляет из базы данных существующее описание домена при условии, что домен не используется в каком-либо описании столбца базы данных.Чтобы не получить исключений, применяйте ALTER TABLE для удаления всех столбцов, использующих домен, а затем


14.4.6. Удаление вершины дерева и удаление дерева: tdelete() и tdestroy()

Из книги Как приручить компьютер за несколько часов автора Ремнева Ирина

14.4.6. Удаление вершины дерева и удаление дерева: tdelete() и tdestroy() Наконец, вы можете удалить элементы из дерева и, на системах GLIBC, удалить само дерево целиком:void *tdelete(const void *key, void **rootp,int (*compare)(const void*, const void*));/* Расширение GLIBC, в POSIX нет: */void tdestroy(void *root, void (*free_node)(void *nodep));Аргументы


6.6.1. Удаление

Из книги автора

6.6.1. Удаление В общем случае удаление осуществляется двумя формами функции-члена erase(). Первая форма удаляет единственный элемент, вторая – диапазон, отмеченный парой итераторов. Для последнего элемента можно воспользоваться функцией-членом pop_back().При вызове erase()


6.12.5. Удаление элементов map

Из книги автора

6.12.5. Удаление элементов map Существуют три формы функции-члена erase() для удаления элементов отображения. Для единственного элемента используется erase() с ключом или итератором в качестве аргумента, а для последовательности эта функция вызывается с двумя итераторами.


Удаление файлов

Из книги автора

Удаление файлов Если определенные файлы становятся ненужными, их можно выбросить в корзину (не в прямом смысле, конечно). Как это сделать?1) Отметим объекты, которые необходимо удалить.2) Щелкнем правой кнопкой мыши на одном из отмеченных значков и выберем в появившемся