Linux Man на русском

  User    Syst    Libr    Device    Files    Other    Admin  



   tempfile - создать временный файл безопасным способом

НАЗВАНИЕ

tempfile − создать временный файл безопасным способом


ОБЗОР

tempfile [−d КАТАЛОГ] [−p СТРОКА] [−s СТРОКА] [−m РЕЖИМ] [−n ФАЙЛ] [−−directory=КАТАЛОГ] [−−prefix=СТРОКА] [−−suffix=СТРОКА] [−−mode=РЕЖИМ] [−−name=ФАЙЛ] [−−help] [−−version]


ОПИСАНИЕ

tempfile создаёт временный файл безопасным способом. Программа использует tempnam(3) для выбора имени и открытия файла в режиме O_RDWR | O_CREAT | O_EXCL. Имя файла выводится на стандартный поток вывода. Обратитесь к tempnam(3) за информациях об этапах выбора каталога.

Каталог, в котором может быть создан файл выбирается следующим в следующем порядке (но за авторитетной информацией лучше обращайтесь к tempnam(3)):

a)

В случае если переменная окружения TMPDIR существует и содержит имя каталога, используется соответствующий каталог.

b)

Иначе, если передан соответствующий аргумент опции −−directory, то используется он.

c)

Иначе используется P_tmpdir (который определён в <stdio.h>).

d)

Наконец, можно воспользоваться каталогом (/tmp), определённым для данной реализации.

ОПЦИИ

−d, −−directory КАТАЛОГ

Поместить файл в КАТАЛОГЕ.

−m, −−mode РЕЖИМ

Открыть файл в указанном РЕЖИМЕ, вместо 0600.

−n, −−name ФАЙЛ

Использовать ФАЙЛ в качестве имени файла, не вызывая tempnam(3). Если задана эта опция, то опции −d, −p и −s будут проигнорированы.

−p, −−prefix СТРОКА

Использовать до пяти символов СТРОКИ для создания имени файла.

−s, −−suffix СТРОКА

Создать имя файла со СТРОКОЙ в качестве расширения.

−−help

Вывести на стандартный поток вывода сообщение о способе использования и успешно завершить работу.

−−version

Вывести на стандартный поток вывода инфорамцию о версии и успешно завершить работу.

ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ

Код завершения 0 означает, что временный файл был создан успешно. Любой другой код завершения свидетельствует об ошибке.

НЕИСПРАВНОСТИ

Эксклюзивное создание файлов не гарантируется, если файл создаётся на разделе NFS. tempfile не может создавать временные каталоги. tempfile устарел, а вместо него нужно использовать mktemp(1).


ПРИМЕР

#!/bin/sh
#[...]
t=$(tempfile) || exit
trap "rm −f −− ’$t’" EXIT
#[...]
rm −f −− "$t"
trap − EXIT
exit

СМОТРИ ТАКЖЕ

tempnam(3), mktemp(1)

АВТОР ПЕРЕВОДА

Перевод на русский язык выполнил Владимир Ступин <vladimir@stupin.su>.