cambiar datos de acceso, modificación y creación de un archivo
A veces es necesario cambiar de forma arbitraria las fecha de acceso, modificación y creación de un archivo bajo una plataforma like unix como GNU/Linux. En este caso, touch nos puede ser de mucha ayuda.
Con stat, podemos ver información de estado de un archivo (timestamp access, modification and change)
stat script.sh
Con el comando touch, podemos modificar la fecha de acceso y modificación de un archivo
# el parametro t debe tener el formato YYYYMMDDHHmm.ss touch -c -m -a -t 201101010745.30 script.sh
¿pero cómo modificamos la fecha de creación (change)?
Algunos sistemas, permiten cambiar el parámatro change directamente por touch, otros no, de todas formas una alternativa (rápida y sucia xD) es “cambiando” por un instante, la fecha del sistema, realizar un “touch” y volver a la fecha original, el siguiente script realiza dicho proceso.
#!/bin/bash CTIME=$1 CURTIME=$(date -u '+%m%d%H%M%Y') date --set $CTIME touch $2 date -u $CURTIME
Por lo tanto, para cambiar la fecha creación (change), podemos utilizar el script effective-touch.sh
./effective-touch.sh "2010-01-01" script.sh
Podemos ver, que hemos cambiado el parámetro “change” del archivo script.sh, eso si, de forma muy sucia xD