Книга: Программирование для Linux. Профессиональный подход
Б.5. Другие низкоуровневые операции
Б.5. Другие низкоуровневые операции
Есть ряд других полезных функций для работы с файлами и каталогами.
? Функция getcwd()
возвращает имя текущего каталога. Она принимает два аргумента — указатель на буфер и длину буфера — и копирует имя каталога в буфер.
? Функция chdir()
делает текущим заданный каталог.
? Функция mkdir()
создает новый каталог. Ее первым аргументом является путевое имя каталога. Второй аргумент задает права доступа к каталогу. Интерпретация этого аргумента такая же, как и третьего аргумента функции open()
. На итоговый код доступа влияет значение umask
процесса.
? Функция rmdir()
удаляет указанный каталог.
? Функция unlink()
удаляет файл. Ее аргументом является путевое имя файла. С помощью этой функции можно удалять и другие объекты файловой системы, например именованные каналы и файлы устройств.
В действительности функция unlink()
не обязательно удаляет содержимое файла. Как подсказывает ее имя, она удаляет из каталога ссылку на файл. Файл не будет больше фигурировать в списке содержимого каталога, но если какой-то процесс владеет открытым дескриптором этого файла, то содержимое файла не удаляется с диска. Это произойдет только тогда, когда не останется открытых дескрипторов файла. Так что если один процесс откроет файл для чтения или записи, а второй процесс в это время удалит ссылку на файл и создаст новый файл с таким же именем, первый процесс продолжит работать со старым содержимым файла. Чтобы получить доступ к новому содержимому первому процессу придется закрыть и повторно открыть файл.
? Функция rename()
переименовывает или перемещает файл. Двумя ее аргументами являются старое и новое путевые имена. Если путевые имена ссылаются на разные каталоги, функция перемещает файл (при условии, что он остается в той же файловой системе). С помощью функции rename()
можно перемещать также каталоги и другие объекты файловой системы.
- Другие инструменты для осуществления резервного копирования
- Что делать, если при установке принтера появляется сообщение Невозможно завершение операции. Подсистема печати недоступн...
- Другие изменения в 7-й версии InterBase
- Операции с множествами узлов
- Датчик расположения и другие датчики
- 4. Null-значения и логические операции
- 1. Операции объединения, пересечения, разности
- 2. Операции декартового произведения и естественного соединения
- 5. Производные операции
- 2. Унарные операции на языке структурированных запросов
- 3. Бинарные операции на языке структурированных запросов
- 5. Операции внутреннего соединения.