¿Cómo puedo obtener la antigüedad de un archivo determinado en, al menos, días?
Soy muy consciente de ls -lh
y comandos similares. Quiero algo que funcione más o menos así:
getfage <FILE> # prints out '12d' (12 days)
Además, esto debe ser algo multiplataforma ya que también me gustaría usarlo en Mac OS X, pero el caso de uso principal está en mi caja de Linux.
NOTA
Dado que Linux no realiza un seguimiento del tiempo de creación, busco una solución doble:una para mtime (Linux):es decir, la última vez que se modificó dicho archivo –y uno para Mac OS X, que puede manejar mtime o tiempo de creación.
Respuesta aceptada:
Unix no realiza un seguimiento de una fecha de creación. La única información disponible suele ser la última vez que los archivos fueron:
- Accedido
- Modificado
- Cambiado
- Acceso:la última vez que se leyó el archivo
- Modificar:la última vez que se modificó el archivo (se modificó el contenido)
- Cambio:la última vez que se cambiaron los metadatos del archivo (por ejemplo, permisos)
(De esta respuesta )
Puede obtener fechas relacionadas con un archivo en particular utilizando stat
comando.
Ejemplo
$ stat ffmpeg
File: `ffmpeg'
Size: 19579304 Blocks: 38248 IO Block: 4096 regular file
Device: fd02h/64770d Inode: 10356770 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 500/ saml) Gid: ( 501/ saml)
Access: 2013-11-26 10:49:09.908261694 -0500
Modify: 2013-11-02 17:05:13.357573854 -0400
Change: 2013-11-02 17:05:13.357573854 -0400
OSX y HFS
Si está utilizando OSX, el sistema de archivos que se utiliza en ese Unix es HFS. Este es uno de los pocos (que yo sepa) que mantiene la fecha de creación dentro del sistema de archivos, junto con la hora de modificación, etc. similar a otros Unixes.
extracto
Un registro de archivo almacena una variedad de metadatos sobre el archivo, incluido su CNID, el tamaño del archivo, tres marcas de tiempo (cuándo se creó el archivo, cuándo se modificó por última vez, cuándo se realizó la última copia de seguridad), las extensiones del primer archivo de los datos y las bifurcaciones y punteros de recursos a los primeros datos del archivo y registros de extensión de recursos en el archivo de desbordamiento de extensión. El registro del archivo también almacena dos campos de 16 bytes que utiliza el Finder para almacenar atributos sobre el archivo, incluidos elementos como el código de creador, el código de tipo, la ventana en la que debe aparecer el archivo y su ubicación dentro de la ventana.
Marcas de tiempo
Las marcas de tiempo siempre se mantienen en el sistema de archivos, por lo que está limitado por cualquier seguimiento de tiempo que se ofrezca a través de ellos (EXT3, EXT4, XFS, etc.).
Relacionado:¿Por qué InnoDB almacena todas las bases de datos en un solo archivo?Sistemas de archivos
Si alguna vez tiene curiosidad, eche un vistazo a este tema de Wikipedia titulado:Comparación de sistemas de archivos. Tiene la lista más extensa de sistemas de archivos que conozco junto con una buena tabla de las diversas funciones y el estado de si es compatible o no dentro de un sistema de archivos determinado.
Referencias
- ¿Cómo encontrar la fecha de creación del archivo?
- ¿Cómo hago un ls y luego ordeno los resultados por fecha de creación?
- Lista de archivos creados los domingos
- ¿Obtener archivo creado/hora de creación?
- ¿Por qué el tiempo de Unix comienza en 1970-01-01?