Articles

Tutorial del comando touch de Linux para principiantes (6 ejemplos)

Posted on

A veces, mientras se trabaja en la línea de comandos en Linux, es posible que desee crear un nuevo archivo. O, puede haber ocasiones en las que el requisito es cambiar las marcas de tiempo de un archivo. Pues bien, existe una utilidad que puedes utilizar en estos dos escenarios. La herramienta en cuestión es touch, y en este tutorial, entenderemos su funcionalidad básica a través de ejemplos fáciles de entender.

Tenga en cuenta que todos los ejemplos que usaremos aquí han sido probados en una máquina Ubuntu 16.04.

Comando Touch de Linux

El comando touch se utiliza principalmente para cambiar las marcas de tiempo de los archivos, pero si el archivo (cuyo nombre se pasa como argumento) no existe, entonces la herramienta lo crea.

A continuación se muestra la sintaxis genérica del comando:

touch ... FILE...

Y así es como la página man explica este comando:

DESCRIPTION
Update the access and modification times of each FILE to the current
time. A FILE argument that does not exist is created empty, unless -c or -h
is supplied. A FILE argument string of - is handled specially and causes touch to
change the times of the file associated with standard output.

Los siguientes ejemplos de tipo Q&A te darán una mejor idea de cómo funciona la herramienta.

Cómo cambiar el tiempo de acceso/modificación usando el comando touch

Esto es sencillo, y bastante directo. Tomemos un archivo existente como ejemplo. La siguiente captura de pantalla muestra los tiempos de acceso y modificación de un archivo llamado ‘apl.c.’

Así es como puedes usar el comando touch para cambiar los tiempos de acceso y modificación del archivo:

touch apl.c

La siguiente captura de pantalla confirma el cambio de estas marcas de tiempo.

Cómo cambiar sólo el tiempo de acceso o modificación

Por defecto, el comando touch cambia tanto el tiempo de acceso como el de modificación del archivo de entrada. Sin embargo, si quieres, puedes limitar este comportamiento a cualquiera de estas marcas de tiempo. Esto significa que puede hacer que se cambie el tiempo de acceso o la marca de tiempo de modificación.

En caso de que quiera cambiar sólo el tiempo de acceso, utilice la opción de línea de comandos -a.

touch -a 

De forma similar, si el requisito es cambiar sólo el tiempo de modificación, utilice la opción de línea de comandos -m.

touch -m 

Cómo hacer que touch utilice los tiempos de acceso/modificación de un archivo existente

Si lo desea, también puede forzar al comando touch a copiar las marcas de tiempo de acceso y modificación de un archivo de referencia. Por ejemplo, supongamos que queremos cambiar las marcas de tiempo del archivo . Aquí están las marcas de tiempo actuales para este archivo:

Y este es el archivo que quieres que touch use como referencia:

Ahora, para que touch use las marcas de tiempo de ‘apl’ para ‘apl.c’, tendrás que utilizar la opción de línea de comandos -r de la siguiente manera:

touch apl.c -r apl

La captura de pantalla anterior muestra que las marcas de tiempo de modificación y acceso para ‘apl.c’ son ahora las mismas que las de ‘apl.’

Cómo crear un nuevo archivo usando touch

Crear un nuevo archivo también es muy fácil. De hecho, ocurre automáticamente si el nombre del archivo que pasas como argumento al comando touch no existe. Por ejemplo, para crear un archivo llamado ‘newfile’, todo lo que tienes que hacer es ejecutar el siguiente comando touch:

touch newfile

Cómo forzar que touch no cree ningún archivo nuevo

En caso de que haya un requisito estricto de que el comando touch no deba crear ningún archivo nuevo, entonces puedes usar la opción -c.

touch -c 

La siguiente captura de pantalla muestra que, dado que ‘newfile12’ no existía, y utilizamos la opción de línea de comandos -c, el comando touch no creó el archivo.

Cómo funciona touch en caso de enlaces simbólicos

Por defecto, si pasas el nombre de un archivo de enlace simbólico al comando touch, el cambio en las marcas de tiempo de acceso y modificación será para el archivo original (al que hace referencia el enlace simbólico). Sin embargo, la herramienta también ofrece una opción (-h) que permite anular este comportamiento.

Así es como la página man explica la opción -h:

-h, --no-dereference
affect each symbolic link instead of any referenced file (useful
only on systems that can change the timestamps of a symlink)

Así que cuando quiera cambiar las marcas de tiempo de modificación y acceso para el enlace simbólico (y no para el archivo original), utilice el comando touch de la siguiente manera:

touch -h 

Conclusión

Como estarás de acuerdo, touch no es un comando difícil de entender y utilizar. Los ejemplos/opciones que hemos discutido en este tutorial deberían ser suficientes para empezar con la herramienta. Mientras que los novatos se encontrarán principalmente usando la utilidad para crear nuevos archivos, los usuarios más experimentados juegan con ella para otros múltiples propósitos también. Para más información sobre el comando touch, dirígete a su página man.

Tutorial del comando touch de Linux para principiantes (6 ejemplos)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *