¿Cuál es la diferencia entre tempfile y mktemp?

La mayoría de los sistemas que he encontrado tienen ambostempfile(1) ymktemp(1). Hay diferencias sintácticas, ymktemp También puede crear directorios, pero por lo demás parecen hacer lo mismo.

¿Hay alguna diferencia entre los dos? ¿Por qué existen ambos? ¿Es una norma más que la otra? Si solo quiero crear un archivo temporal de forma segura, ¿hay alguna razón para preferir uno sobre el otro?

Sospecho que hay algo interesante de Unix detrás de esto, pero mis búsquedas no muestran nada.

Respuestas a la pregunta(3)

Su respuesta a la pregunta