Linux Commands Examples

A great documentation place for Linux commands


create a temporary file in a safe manner

see also : mktemp


tempfile [-d DIR] [-p STRING] [-s STRING] [-m MODE] [-n FILE] [--directory=DIR] [--prefix=STRING] [--suffix=STRING] [--mode=MODE] [--name=FILE] [--help] [--version]

add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!


no example yet ...

... Feel free to add your own example above to help other Linux-lovers !


tempfile creates a temporary file in a safe manner. It uses tempnam(3) to choose the name and opens it with O_RDWR | O_CREAT | O_EXCL. The filename is printed on standard output. See tempnam(3) for the actual steps involved in directory selection.

The directory in which to create the file might be searched for in this order (but refer to tempnam(3) for authoritative answers):


In case the environment variable TMPDIR exists and contains the name of an appropriate directory, that is used.


Otherwise, if the --directory argument is specified and appropriate, it is used.


Otherwise, P_tmpdir (as defined in <stdio.h>) is used when appropriate.


Finally an implementation-defined directory (/tmp) may be used.


-d, --directory DIR

Place the file in DIR.

-m, --mode MODE

Open the file with MODE instead of 0600.

-n, --name FILE

Use FILE for the name instead of tempnam(3). The options -d, -p, and -s are ignored if this option is given.

-p, --prefix STRING

Use up to five letters of STRING to generate the name.

-s, --suffix STRING

Generate the file with STRING as the suffix.


Print a usage message on standard output and exit successfully.


Print version information on standard output and exit successfully.


t=$(tempfile) || exit
trap "rm -f -- ’$t’" EXIT
rm -f -- "$t"
trap - EXIT

return values

An exit status of 0 means the temporary file was created successfully. Any other exit status indicates an error.


Exclusive creation is not guaranteed when creating files on NFS partitions. tempfile cannot make temporary directories. tempfile is deprecated; you should use mktemp(1) instead.

see also

tempnam, mktemp

How can this site be more helpful to YOU ?

give  feedback