mktemp命令

mktemp命令用于安全地创建一个临时文件或目录,并输出其名称,TEMPLATE在最后一个组件中必须至少包含3个连续的X,如果未指定TEMPLATE,则使用tmp.XXXXXXXXXX作为名称在当前目录下创建相应的临时文件,X为生成的随机数,尾部的X将替换为当前进程号和随机字母的组合,文件的名称取决于模板中X的数量以及与现有文件冲突的数量,mktemp可以返回的唯一文件名的数量取决于所提供的X的数量,十个X将导致mktemp测试大约26**10个组合,mktemp命令创建的临时文件不会使用默认的umask管理权限值,其会将文件的读写权限分配给文件属主,一旦创建了文件,在shell脚本中就拥有了完整的读写权限,除root外其他人不可访问,即在创建文件时即有u+rw权限,创建文件夹时有u+rwx权限。

语法

mktemp [OPTION] [TEMPLATE]

参数

示例

在当前目录创建临时文件。

mktemp tmp.XXX
# tmp.g6k

创建指定文件类型的临时文件。

mktemp tmp.XXX --suffix=.txt
# tmp.gSI.txt

在指定目录创建临时文件。

mktemp --tmpdir=/home tmp.XXX
# /home/tmp.HxB

参考

https://www.jianshu.com/p/31660ac1650f
https://www.cnblogs.com/xingmuxin/p/8440689.html
https://www.runoob.com/linux/linux-comm-mktemp.html