「mktemp(1)」-

创建临时文件或者目录

命令语法格式

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是隐含的。

使用示例

在当前目录中创建临时文件:

# mktemp

/tmp/tmp.zTQljffojd

# mktemp file.XXXX

file.H47c

使用指定的后缀来创建文件:

# mktemp –suffix=.txt file-XXXX

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 创建文章