Touch es un comando de Linux que se utiliza para crear archivos vacíos y cambiar marcas de tiempo de archivos o carpetas. La información de marca de tiempo de los archivos tienen tres atributos: tiempo de acceso, tiempo de modificación y tiempo de cambio.
¿Pero, qué es una marca de tiempo en Linux?
En Linux, cada archivo o carpeta tiene una marca de tiempo que nos da información de cuándo se modificó el contenido de un archivo o sus atributos.
Hay tres tipos de marcas de tiempo:
- Tiempo de acceso (atime): la última vez que se leyó un archivo.
- Tiempo de modificación (mtime): la última vez que se modificó el contenido de un archivo. Al igual que el tiempo de acceso, también forma parte de los metadatos del estado de los archivos.
- Tiempo de cambios realizados (ctime): la última vez que se modificaron los metadatos de un archivo (por ejemplo, permisos)
- Dado que atime y mtime son parte de los metadatos de estado de un archivo, cambiar atime o mtime de un archivo da como resultado ctime, en el cual se establece automáticamente la fecha actual. No hay forma de configurar o cambiar el ctime manualmente.
Uso del comando touch
1- Crear un archivo usando Touch
touch prueba.txt
2- Crear varios archivos a la vez
touch archivo1.txt archivo2.txt archivo3.txt archivo4-txt
3- Crear archivos en forma secuencial, en vez de hacerlo de a uno como el punto 2, podemos crearlos de una vez.
touch archivo{1..4}.txt
3.1- Pero se puede usar con letras
touch archivo{a..z}.txt
4- Cambiar el tiempo de modificación con Touch
tocuh -m archivo1.txt
5- Cambiar el tiempo de acceso y de modificación con Touch
touch -am archivo1.txt
6- Cambiar el tiempo de acceso sin crear un nuevo archivo
touch -c archivo1.txt
7- Establecer un tiempo de acceso y de modificación específicos con Touch
touch -t 202203231150.30 archivo1.txt
El formato de fecha y hora respetan la estructura CCYYMMDDhhmm.ss donde:
- CC: los dos primeros dígitos del año
- YY: los dos segundos dígitos 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]
7.1- Verificación de los cambios
stat archivo1.txt
8- Cambiar la marca de tiempo de un archivo que esta vinculado simbólicamente
Se puede cambiar la marca de tiempo de un enlace simbólico, que en realidad apunta a un archivo.
touch -h enlace_simbólico
9- Establecer la marca de tiempo de otro archivo como referencia, primero va el archivo del que copiaremos la metadata y luego el archivo al que se aplicará esa info.
touch -r referencia.txt archivo.txt
10- Actualizar el tiempo de acceso de ahora mismo
touch -a archivo1.txt
11- Si queremos que se actualice a mañana podemos hacer
touch -d tomorrow archivo1.txt
12- Actualizar a 5 años atrás
touch -d "5 years ago"






