Linux的/tmp目录是专门放置临时文件的,系统启动时会自动删除/tmp目录的所有文件。

创建临时文件:

mktemp        此命令可以在/tmp目录上创建一个唯一的临时文件,并将创建者设为文件的属主,除了root用户只有创建者拥有读写权限。

mktemp  temp.XXXXXX        在本地创建了一个文件,6个X会被随机字符替换

例:

tempfile=$( mktemp  temp.XXXXXX )

exec   3> $tempfile

echo  "This is a message" >&3

exec  3>&-

rm  -f  $tempfile  2>/dev/null

这个例子中先创建了一个文件,然后将文件描述符3定向到新创建的临时文件,向临时文件写入数据后关闭了文件描述符3,然后删除了临时文件。


在/tmp目录中创建临时文件:

    -t        这个选项会在/tmp目录下创建临时文件,并返回绝对路径,这样就可以在任意目录下引用该目录了,例:mktemp  -t  temp.XXXXXX


创建临时目录:

    -d        创建临时目录,这个目录可以用来创建临时文件

例:

tempdir=$( mktemp  -d  testdir.XXXXXX )

cd  $tempdir

tempfile1=$( mktemp temp.XXXXXX )

tempfile2=$( mktemp temp.XXXXXX )

exec  7> tempfile1

exec  8> tempfile2

echo  "message1" >&7

echo  "message2" >&8

rm -rf  $tempdir  2>/dev/null

这个例子中先创建了一个临时文件夹,然后再这个文件夹中创建了两个临时文件,让文件描述符7和8分别定向到这两个文件,然后输入数据,最后删除文件夹及文件。