Tutorial del comando mktemp de Linux para principiantes (5 ejemplos)
Crear archivos o directorios temporales es una tarea común que hacen muchos usuarios de la línea de comandos de Linux. ¿Pero sabes que hay una herramienta de línea de comandos dedicada -apodada mktemp- que te permite hacer esto?
En este tutorial, hablaremos de los fundamentos del comando mktemp utilizando algunos ejemplos fáciles de entender. Pero antes de hacerlo, vale la pena mencionar que todos los ejemplos aquí se han probado en una máquina Ubuntu 20.04 LTS y en Debian 10.
Comando mktemp de Linux
El comando mktemp en Linux permite a los usuarios crear un archivo o directorio temporal. A continuación se muestra su sintaxis:
mktemp [OPTION]... [TEMPLATE]
Y así es como lo explica la página man de la herramienta:
Create a temporary file or directory, safely, and print its name. TEM?
PLATE must contain at least 3 consecutive 'X's in last component. If
TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.
Files are created u+rw, and directories u+rwx, minus umask restric?
tions.
A continuación se presentan algunos ejemplos al estilo de las preguntas y respuestas que deberían darte una buena idea de cómo funciona el comando mktemp.
Q1. ¿Cómo se crea un archivo temporal con mktemp?
Es sencillo. Sólo tienes que ejecutar ‘mktemp’ sin ninguna opción. Verás que se crea un archivo temporal en la carpeta /tmp/.
mktemp
Por ejemplo, en mi caso, se produjo la siguiente salida:
/tmp/tmp.Ko6d1aX84B
Q2. ¿Cómo crear un directorio temporal con mktemp?
Esto se puede hacer utilizando la opción -d de la línea de comandos.
mktemp -d
Por ejemplo, en mi caso, se produjo la siguiente salida:
/tmp/tmp.Y8pySTB9ml
Como ves, el nombre no refleja el hecho de que es un directorio, pero realmente lo es.
Q3. ¿Cómo dar un nombre personalizado a tu archivo/directorio temporal?
Como ya habrás observado, mktemp da un nombre aleatorio al archivo o directorio temporal que crea. Sin embargo, si quieres, puedes darle un nombre personalizado.
La herramienta ofrece una plantilla que puedes utilizar. Todo lo que tienes que hacer es proporcionar un nombre, seguido de tres o más X de continuación. Estas X son sustituidas por mktemp con caracteres aleatorios para que el nombre final del archivo o directorio sea único.
Por ejemplo, he ejecutado el siguiente comando:
mktemp tempfileXXX
Y se produjo el siguiente archivo:
tempfileEgh
Ten en cuenta que los archivos producidos de esta manera se ubican en el directorio de trabajo actual, en lugar del directorio /tmp/ (que es el comportamiento por defecto).
Q4. ¿Cómo añadir un sufijo al final del nombre del archivo/directorio?
En la sección anterior, hemos hablado de cómo tener un nombre personalizado al utilizar mktemp. Pero de esta manera, sólo puedes tener la parte inicial del nombre que desees. ¿Y si también quieres un sufijo de tu elección?
Te alegrará saber que esto también es posible. Sólo tienes que utilizar la opción –sufijo. A continuación se muestra un ejemplo:
mktemp tempfileXXX --suffix=HTF
Y este es el nombre del archivo producido por el comando mencionado:
tempfilecVkHTF
Así puedes ver que el sufijo que has suministrado se ha añadido al nombre del archivo.
Q5. ¿Cómo realizar sólo un simulacro con mktemp?
Si sólo quieres que mktemp muestre un nombre y no cree un archivo/directorio, puedes hacerlo utilizando la opción de línea de comandos -u.
mktemp -u
Conclusión
Dependiendo del tipo de trabajo que realices en la línea de comandos de Linux, el comando mktemp puede resultar una herramienta útil que te ahorra tiempo. En este tutorial hemos hablado de varias opciones de línea de comandos que ofrece la herramienta. Para saber más, dirígete a su página man.