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.
3.22.66.132