我遇到的大多数系统都有tempfile(1)
and mktemp(1)
。存在语法差异,并且mktemp
也可以创建目录,但它们似乎做同样的事情。
两者有什么区别吗?为什么两者都存在?一个比另一个更标准吗?如果我只想安全地创建临时文件,是否有理由选择其中一个而不是另一个?
我怀疑这背后有一些有趣的 Unix 知识,但我的搜索没有发现任何结果。
我怀疑这背后有一些有趣的 Unix 传说......
The history http://www.mktemp.org/manual.html#6 of mktemp
可以追溯到OpenBSD 2.1 http://openbsd.org/21.html。然而,它很晚才成为 GNU coreutils 的一部分。This http://lists.gnu.org/archive/html/bug-coreutils/2007-10/msg00051.html帖子宣布纳入mktemp
for coreutils
.
直到那时,tempfile
被许多程序使用。还有一个proposal http://lists.gnu.org/archive/html/bug-coreutils/2007-10/msg00133.html使tempfile
一个包装纸mktemp
,这是rejected http://lists.gnu.org/archive/html/bug-coreutils/2007-10/msg00134.html阻止使用tempfile
.
但是,添加了以下内容tempfile
manual:
在 NFS 分区上创建文件时,不保证独占创建。tempfile
无法创建临时目录。tempfile
已弃用;你应该使用mktemp(1)
反而。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)