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分别定向到这两个文件,然后输入数据,最后删除文件夹及文件。