Comando touch en Linux: crear archivos y cambiar fecha de modificación
Cambie los metadatos de los archivos en Linux con el comando touch
Todo archivo contiene información de metadatos, como su nombre, fecha de creación, fecha de modificación y fecha de último acceso, entre otra información.
El comando touch sirve para alterar los metadatos de tiempo de los archivos, modificando la fecha de último acceso o de modificación de los archivos.
Esto puede ser útil para marcar un archivo para recibir backup incremental o diferencial a partir de una determinada fecha, o ser sincronizado en un repositorio, sin la necesidad de alterar el contenido del archivo, basta con alterar su fecha de modificación.
El comando touch también es útil para crear un archivo vacío, si el archivo indicado no existe.
Opciones del comando touch
Las opciones más comunes son:
- -a Cambia la información de último acceso del archivo
- -c No crea el archivo si no existe
- -d fecha Permite que una fecha en formato texto sea informada en lugar de la fecha y hora actual
- -m Cambia la hora de modificación del archivo
- -t stamp Usa el formato [[CC]YY]MMDDhhmm[.ss] en lugar de la fecha y hora actual
- --time=PALABRA Cambia la información de tiempo indicada, que puede ser atime (acceso) o modificación (mtime)
La opción -d=data es texto de fecha legible por humanos, en su mayoría libre, como "Dom, 29 de febrero de 2004 16:21:42 -0800" o "2004-02-29 16:21:42" o incluso "próximo jueves". Una secuencia de fechas puede contener elementos indicando fecha del calendario, hora del día, zona horaria, día de la semana, hora relativa, fecha relativa y números.
Crear archivo vacío en Linux
En el ejemplo a continuación touch se usa para crear un archivo vacío llamado config.txt:
$ touch config.txt$ ls -l-rw-rw-r-- 1 ec2-user ec2-user 0 set 13 22:29 config.txt
Crear varios archivos a la vez en Linux
Una lista también puede usarse para crear varios archivos:
$ touch teste{1..3}.txt$ ls -l-rw-rw-r-- 1 ec2-user ec2-user 226 set 12 16:14 teste1.c-rw-rw-r-- 1 ec2-user ec2-user 0 set 13 22:31 teste1.txt-rw-rw-r-- 1 ec2-user ec2-user 0 set 13 22:31 teste2.txt-rw-rw-r-- 1 ec2-user ec2-user 0 set 13 22:31 teste3.txt
Cambiar fecha de modificación de un archivo en Linux
El touch puede usarse para cambiar la fecha de modificación de un archivo, como por ejemplo teste1.c que fue modificado el 12/sep:
$ touch -d "09/12" teste1.c
$ ls -l -rw-rw-r-- 1 ec2-user ec2-user 226 set 12 22:35 teste1.c-rw-rw-r-- 1 ec2-user ec2-user 0 set 13 22:31 teste1.txt-rw-rw-r-- 1 ec2-user ec2-user 0 set 13 22:31 teste2.txt-rw-rw-r-- 1 ec2-user ec2-user 0 set 13 22:31 teste3.txt
También puede especificar una fecha y hora específica en lugar de la fecha y hora actual. En este ejemplo: 11/05/1978 a las 18:40:30:
$ touch -t 197805111840.30 teste1.c$ ls -l -rw-rw-r-- 1 ec2-user ec2-user 226 mai 11 1978 teste1.c
El formato de la hora específica está definido por el estándar CCYYMMDDhhmm.ss, en el que:
- CC – Los dos primeros dígitos del año.
- YY – Los dos dígitos subsiguientes del año.
- MM – El mes del año [01-12].
- DD – El día del mes [01-31].
- hh – La hora del día [00-23].
- mm – El minuto de la hora [00-59].
- ss – El segundo del minuto [00-59]
También puede especificar la fecha y la hora como un conjunto (string) usando la opción -d. La línea de comandos a continuación muestra un ejemplo que define la fecha para el 23 de febrero y la hora se establece automáticamente en 00:00:
$ touch -d '23 Feb' teste1.c$ ls -l teste*-rw-rw-r-- 1 ec2-user ec2-user 226 fev 23 2019 teste1.c
Vea este pequeño video de cómo funciona el comando touch:
Aprenda mucho más sobre Linux en nuestro curso en línea. Puede realizar la inscripción aquí. Si ya tiene una cuenta, o quiere crear una, simplemente entre o cree su usuario aquí.
¿Le gustó? Comparta
Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.