Temporary files are the
files that are needed for a short interval of
time while an application is
running. Such files are being used to keep intermediate results of
running a program and they are no longer needed after the program
execution is complete. In shell, we can create temporary files using
the mktemp
command.
The
mktemp
command creates a
temporary file and prints its name on
stdout
. Temporary files are created by default in the
/tmp
directory.
The syntax of creating a temporary file is as follows:
$ mktmp /tmp/tmp.xEXXxYeRcF
A file with the name tmp.xEXXxYeRcF
gets created into the /tmp
directory. We can further read and write into this file in an
application for temporary use. Using the
mktemp
command instead of using
a random name for a temporary filename avoids accidental overwrite
of an existing temporary file.
To create a temporary directory, we can use the
-d
option with
mktemp
:
$ temp_dir=mktemp -d $ echo $temp_dir /tmp/tmp.Y6WMZrkcj4
Furthermore, we can explicitly delete it as well:
$ rm -r /tmp/tmp.Y6WMZrkcj4
We can even specify a
template to use for a temporary file by providing an argument as
name.XXXX
. Here,
name
can be any name by which a
temporary file should begin, and XXXX
tells the length of a random character to be used after a dot (.).
In general, while writing an application if temporary files are
needed, the application name is given as the temporary file name.
For example, a test application needs to create a temporary file. To create a temporary file, we will use the following command:
$ mktemp test.XXXXX test.q2GEI
We can see that the temporary file name begins with
test
and contains exactly five
random letters.