Para saber la fecha de creación de archivos en linux hay que ejecutar algunos comandos. No es tan intuitivo como en otros sistemas operativos.
Solo podremos saber la fecha de creación de un archivo si el sistema de ficheros está creado como EXT4. Si es anterior no sería posible saberlo.
Para saber qué sistema de ficheros tenemos hay que lanzar el siguiente comando:
df -T
Una vez hayamos confirmado que nuestro sistema de ficheros es EXT4 procedemos a consultar la fecha de creación del fichero de la siguiente forma.
Obtenemos el INODE_NUMBER del fichero, que es su identificador dentro del sistema de ficheros:
ls -i fichero
Esto nos devolverá el INODE_NUMBER del fichero y debemos indicarlo en el siguiente comando (hay que mantener los corchetes) que es el que nos dirá la fecha de creación del fichero:
debugfs -R 'stat <INODE_NUMBER>' /dev/sda1
donde /dev/sda1 es donde esté montado la unidad. Puede que no sea sda1. Para saberlo ejecutamos el comando:
df
Una vez que hemos ejecutado el comando que nos devuelve la fecha de creación, obtendremos algo como esto:
debugfs 1.39 (29-May-2006)
Inode: 2970651 Type: regular Mode: 0644 Flags: 0x0 Generation: 2573310076
User: 0 Group: 0 Size: 1374805
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 2696
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x56150785 -- Wed Oct 10 13:52:37 2015
atime: 0x561507a5 -- Wed Oct 10 13:53:09 2015
mtime: 0x56150785 -- Wed Oct 10 13:52:37 2015
crtime: 0x56150785 -- Wed Oct 10 13:52:37 2015
BLOCKS:
(0-8):5965974-5965982, (9-10):5965985-5965986, (11):5965988, (IND):5965989, (12-
21):5965990-5965999, (22-26):5966001-5966005, (27-34):5966007-5966014, (35-36):5
966017-5966018, (37):5966398, (38):5966432, (39-40):5966535-5966536, (41-46):596
6565-5966570, (47-55):5966578-5966586, (56-60):5969281-5969285, (61-67):5969297-
5969303, (68-112):5969313-5969357, (113-126):5969359-5969372, (127-136):5970192-
5970201, (137-167):5970521-5970551, (168):5970637, (169):5974294, (170-282):5981
046-5981158, (283-335):5983975-5984027
TOTAL: 337
Y veremos que en la línea del crtime nos aparece la fecha que buscábamos.
Muy útil !!!! mil gracias
Buscando otra cosa me encontré con tu explicacion, que al principio me extrañó porque creí momentaneamente que el comando ls resolvia eso.
Luego me di cuenta de que la fecha de creacion es algo muy distinto a la fecha del archivo ya que esta última es la fecha de última modificación.
Muchas gracias
Me alegro que te haya servido. Un saludo.
Hum... no me ha funcionado. Mejor dicho, sí, pero el resultado ha sido extraño.
Veamos: Ayer me bajo un archivo a mi ordenador. Esta mañana le paso el dos2unix. Al usar este técnica para averiguar la fecha de creación... me da que es hoy.
No se me ocurre más que sea culpa del dos2unix, que "borre" el archivo al que se aplica y lo vuelva a crear con el mismo nombre.
Por lo que he podido leer dos2unix convierte el fichero, por lo que parece que esté generando un fichero nuevo y de que ahí que no veas la fecha de creación original. Es como cuando conviertes un png a jpg, el fichero no se modifica sino que se crea un fichero nuevo con el formato jpg sin borrar el fichero png. Al final tienes los dos ficheros. Un saludo.