创建临时文件或者目录
命令语法格式
mktemp [OPTION]… [TEMPLATE]
命令描述
命令mktemp用于创建临时文件或者目录,然后打印出所创建的临时文件或目录的名字。由于mktemp既能创建文件,也可以创建目录,但是为了表述方便,下面我们统一使用”文件“来代指文件或目录。
文件的默认权限为u+rw;目录的默认权限为u+rwx。如果umask对权限的限制更为严格,则使用umask的权限设置。
命令支持的选项及含义
-d, –directory
创建一个临时目录。默认情况下,创建文件。
–suffix=SUFF
将SUFF追加到TEMPLATE后面;SUFF中不能包含斜线。如果TEMPLATE没有以X结尾,则该选项是隐含的。
-p DIR, –tmpdir[=DIR]
参数TEMPLATE相对于目录DIR。
如果没有指定DIR(只能在使用长选项–tmpdir时)或者是空字符串,则使用环境变量TMPDIR的值(如果可用),否则使用’/tmp’。如果指定了该选项,TEMPLATE不能是绝对路径名。然而TEMPLATE中仍然可以包含斜线,但是中间目录必须已经存在。
-t
将TEMPLATE视为相对于TMPDIR值的单个文件(如果可用),或者相对于由-p指定的目录,否则指定为’/tmp’。TEMPLATE不能包含斜杠。
此选项已弃用;使用-p且不使用-t可以提供更好的默认值(通过支持TMPDIR的命令行)和更多的灵活性(通过允许中间目录)。
-u, –dry-run
不创建任何文件或者目录,只是打印一个名字。
-q, –quiet
文件或者目录创建失败时,并不打印任何消息。
其他选项
–help
显示帮助并退出。
–version
显示版本信息。
命令行参数
TEMPLATE
临时文件的模板。其值的最后部分中至少要包含3个连续的X,用于被替换成随机字符。
如果没有指定TEMPLATE参数,则默认值为tmp.XXXXXXXXXX,并且选项–tmpdir是隐含的。
使用示例
在当前目录中创建临时文件:
/tmp/tmp.zTQljffojd
# mktemp file.XXXX
file.H47c
使用指定的后缀来创建文件:
file-H08W.txt
# mktemp file-XXXX-XXXX.txt
file-XXXX-eI9L.txt
如上示例。
相关手册
mkstemp(3), mkdtemp(3), mktemp(3)
完整在线手册:http://www.gnu.org/software/coreutils/mktemp
查看info手册:info ‘(coreutils) mktemp invocation’
参考文献
- man 1 foctor, version GNU coreutils 8.26
更新日志
- 06/01/2018 创建文章