En Mac OS X parece haber cuatro marcas de tiempo diferentes asociadas con un archivo. Estas marcas de tiempo no siempre se actualizan de forma independiente, pero se puede tener un cierto control individual con un poco de cuidado y con el uso de touch
, SetFile
y chown
(o chmod
). Para ver esto, vamos a experimentar y crear un nuevo archivo desde el símbolo del sistema #
:
# touch a.txt
# stat a.txt
16777218 5969798 -rw-r--r-- 1 nombredeusuario staff 0 0 "May 19 00:11:14 2015" "May 19 00:11:14 2015" "May 19 00:11:14 2015" "May 19 00:11:14 2015" 4096 0 0 a.txt
La primera fecha listada es la última vez de acceso (atime
), la segunda es la última vez de modificación (mtime
), la tercera es el último cambio de estado (ctime
), la cuarta es la hora de creación del archivo (nacimiento, Btime
), ver man lstat
.
Para modificar la hora de acceso (atime
) a una hora especificada use:
# touch -a -t201412312359.59 a.txt
# stat a.txt
16777218 5969798 -rw-r--r-- 1 nombredeusuario staff 0 0 "Dec 31 23:59:59 2014" "May 19 00:11:14 2015" "May 19 00:11:46 2015" "May 19 00:11:14 2015" 4096 0 0 a.txt
Para modificar la hora de modificación (mtime
) y la hora de creación del archivo (Btime
) a una hora especificada use:
# touch -m -t201312312359.59 a.txt
# stat a.txt
16777218 5969798 -rw-r--r-- 1 nombredeusuario staff 0 0 "Dec 31 23:59:59 2014" "Dec 31 23:59:59 2013" "May 19 00:12:19 2015" "Dec 31 23:59:59 2013" 4096 0 0 a.txt
¡Aparentemente esto también actualiza automáticamente la hora del último cambio de estado (ctime
) a la hora del sistema actual!
Para modificar solamente la hora de creación/nacimiento (Btime
) a una hora dada, use (como propuesto por otros arriba):
# SetFile -d "12/31/1999 23:59:59" a.txt
# stat a.txt
16777218 5969798 -rw-r--r-- 1 nombredeusuario staff 0 0 "Dec 31 23:59:59 2014" "Dec 31 23:59:59 2013" "May 19 00:12:19 2015" "Dec 31 23:59:59 1999" 4096 0 0 a.txt
Para modificar solamente la hora del último cambio de estado (ctime
) a la hora del sistema actual use por ejemplo:
# chown nombredeusuario a.txt
# stat a.txt
16777218 5969798 -rw-r--r-- 1 nombredeusuario staff 0 0 "Dec 31 23:59:59 2014" "Dec 31 23:59:59 2013" "May 19 00:13:45 2015" "Dec 31 23:59:59 1999" 4096 0 0 a.txt
donde nombredeusuario
es el propietario del archivo (como se informa en stat
o ls -l
). Esto no cambia la propiedad del archivo, pero accede al inodo del archivo y registra esto como una hora del último cambio de estado. Desafortunadamente, no es posible especificar explícitamente la hora aquí a menos que se cambie la hora de la computadora...
En resumen, para poder cambiar las cuatro marcas de tiempo de forma independiente, se puede usar (en este orden para los últimos 3):
touch -a -tCCYYMMDDHH.SS
touch -m -tCCYYMMDDHH.SS
SetFile -d "MM/DD/CCYY HH:MM:SS"
- [establecer fecha del sistema]
chown nombredeusuario
[volver a la fecha normal del sistema]
(Por supuesto, restablecer la fecha del sistema puede no ser una operación sin riesgos, ¡has sido advertido!)
0 votos
La explicación "coder" que otras personas han escrito probablemente hace referencia a "touch". Tendrías que abrir una Terminal, navegar hasta la carpeta donde se encuentra el archivo y luego usar el comando touch para modificar la fecha de creación del archivo.
3 votos
FWIW Estás en el camino correcto con "touch-t", pero hay un espacio entre la h y el - . Es "touch -t"