GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo obtener la fecha/hora de creación del archivo en Bash/Debian?

Desafortunadamente, su búsqueda no será posible en general, ya que solo hay 3 valores de tiempo distintos almacenados para cada uno de sus archivos según lo definido por el estándar POSIX (consulte Definiciones básicas, sección 4.8 Actualización de tiempos de archivo)

Cada archivo tiene tres marcas de tiempo distintas asociadas:la hora del último acceso a los datos, la hora de la última modificación de los datos y la hora del último cambio de estado del archivo. Estos valores se devuelven en la estructura de características del archivo struct stat , como se describe en .

EDITAR:como se menciona en los comentarios a continuación, según el sistema de archivos utilizado, los metadatos pueden contener la fecha de creación del archivo. Sin embargo, tenga en cuenta que el almacenamiento de información como esa no es estándar. Dependiendo de esto, puede ocasionar problemas de portabilidad al pasar a otro sistema de archivos, en caso de que el que realmente se use lo almacene de todos modos.


La respuesta de mikyra es buena. El hecho es como lo que dijo.

[[email protected] test]$ stat test.txt
  File: `test.txt'
  Size: 0               Blocks: 8          IO Block: 4096   regular empty file
Device: 802h/2050d      Inode: 588720      Links: 1
Access: (0664/-rw-rw-r--)  Uid: (  500/   jason)   Gid: (  500/   jason)
Access: 2013-03-14 01:58:12.000000000 -0700
Modify: 2013-03-14 01:58:12.000000000 -0700
Change: 2013-03-14 01:58:12.000000000 -0700

si desea verificar qué archivo se creó primero, puede estructurar su nombre de archivo agregando la fecha del sistema cuando crea una serie de archivos.


Tenga en cuenta que si tiene su sistema de archivos montado con noatime por motivos de rendimiento, es probable que atime muestre la hora de creación. Dado que noatime da como resultado un aumento masivo del rendimiento (al eliminar una escritura del disco cada vez que se lee un archivo), puede ser una opción de configuración sensata que también le brinde los resultados que desea.


ls -i file #output is for me 68551981
debugfs -R 'stat <68551981>' /dev/sda3 # /dev/sda3 is the disk on which the file exists

#results - crtime value
[[email protected] ~]# debugfs -R 'stat <68551981>' /dev/sda3
debugfs 1.41.12 (17-May-2010)
Inode: 68551981   Type: regular    Mode:  0644   Flags: 0x80000
Generation: 769802755    Version: 0x00000000:00000001
User:     0   Group:     0   Size: 38973440
File ACL: 0    Directory ACL: 0
Links: 1   Blockcount: 76128
Fragment:  Address: 0    Number: 0    Size: 0
 ctime: 0x526931d7:1697cce0 -- Thu Oct 24 16:42:31 2013
 atime: 0x52691f4d:7694eda4 -- Thu Oct 24 15:23:25 2013
 mtime: 0x526931d7:1697cce0 -- Thu Oct 24 16:42:31 2013
**crtime: 0x52691f4d:7694eda4 -- Thu Oct 24 15:23:25 2013**
Size of extra inode fields: 28
EXTENTS:
(0-511): 352633728-352634239, (512-1023): 352634368-352634879, (1024-2047): 288392192-288393215, (2048-4095): 355803136-355805183, (4096-6143): 357941248-357943295, (6144
-9514): 357961728-357965098

Linux
  1. ¿Cómo hacer A Ls y luego ordenar los resultados por fecha de creación?

  2. Linux:¿cómo encontrar la fecha de creación del archivo?

  3. Linux:¿cómo obtener la fecha de creación de un archivo en un volumen lógico Ntfs?

  4. Cambiar la fecha de creación del archivo

  5. Obtenga el tiempo de creación de archivos con Python en Linux

Cómo leer archivos línea por línea en Bash

Cómo instalar Go en Debian 9

Cómo leer un archivo línea por línea en Bash

Cómo redirigir stderr a stdout en Bash

Cómo obtener la fecha y hora actuales en JavaScript

Cómo cambiar la fecha, la hora y la zona horaria en Debian 10