Comando DEBUGFS: muestra los tiempos de creación de archivos en Linux
En sistemas tipo Unix, como Linux, todo se considera un archivo, y toda la información sobre un archivo (metadatos o atributos de archivo como hora de creación, última modificación, etc.), excepto el contenido real del archivo, se almacena en un inodo y Linux. identifica todos y cada uno de los archivos por su número de inodo distinto del nombre de archivo legible por humanos.
Además, el programa de estadísticas de Linux es una utilidad útil para mostrar el estado de archivos o sistemas de archivos. Muestra información como el número de inodo, la hora de nacimiento del archivo, la última modificación de datos, el último acceso, el último cambio de estado y mucho más. Combinaremos ambos programas para encontrar el tiempo real de creación de archivos en Linux.
En este artículo, explicaremos cómo encontrar uno de los atributos críticos de un archivo usando los programas debugfs y stat para obtener la siguiente información de creación/acceso para un archivo en Sistemas de archivos Linux.
- ctime: Muestra la hora de cambio del archivo.
- atime: muestra el tiempo de acceso al archivo.
- mtime: Muestra la hora de modificación del archivo.
- crtime: Muestra la hora de creación del archivo.
Buscar la fecha de creación del archivo en Linux
1. Para encontrar la fecha y hora de creación del archivo “crtime” es encontrar el inodo del archivo usando el comando stat en un archivo llamado “About-TecMint ”.
stat About-TecMint
File: 'About-TecMint'
Size: 260 Blocks: 8 IO Block: 4096 regular file
Device: 80ah/2058d Inode: 14420015 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 1000/ tecmint) Gid: ( 1000/ tecmint)
Access: 2017-02-23 14:15:20.263337740 +0530
Modify: 2015-10-22 15:08:25.236299000 +0530
Change: 2016-08-01 10:26:36.603280013 +0530
Birth: -
Alternativamente, puede utilizar el comando ls -i en un archivo llamado “About-TecMint”.
ls -i About-TecMint
14420015 About-TecMint
Según el resultado de los comandos anteriores, el número de inodo del archivo es 14420015. Tome nota de este número de inodo único, ya que lo usaremos en los siguientes pasos.
2. Ahora necesitamos encontrar el sistema de archivos raíz en el que reside nuestro archivo, simplemente ejecute el siguiente comando df -h para identificar el sistema de archivos raíz.
df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 0 3.9G 0% /dev
tmpfs 788M 9.7M 779M 2% /run
/dev/sda10 324G 277G 31G 91% /
tmpfs 3.9G 192M 3.7G 5% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/loop3 87M 87M 0 100% /snap/core/4486
/dev/loop0 87M 87M 0 100% /snap/core/4407
/dev/loop1 82M 82M 0 100% /snap/core/4206
/dev/loop2 181M 181M 0 100% /snap/vlc/190
/dev/loop4 189M 189M 0 100% /snap/vlc/158
cgmfs 100K 0 100K 0% /run/cgmanager/fs
tmpfs 788M 40K 788M 1% /run/user/1000
Del resultado anterior, el sistema de archivos para la partición raíz es /dev/sda10
(tome nota de este sistema de archivos). Esto será diferente en su sistema.
3. A continuación, utilice el comando debugfs para encontrar la hora de creación del archivo llamado “About-TecMint”, con el - Indicador R
que indica a debugfs que ejecute el único comando externo especificado con el número de inodo 14420015 (stat en este caso) y luego salga.
sudo debugfs -R 'stat <14420015>' /dev/sda10
Inode: 14420015 Type: regular Mode: 0777 Flags: 0x80000
Generation: 2130000141 Version: 0x00000000:00000001
User: 1000 Group: 1000 Size: 260
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 8
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x579ed684:8fd54a34 -- Mon Aug 1 10:26:36 2016
atime: 0x58aea120:3ec8dc30 -- Thu Feb 23 14:15:20 2017
mtime: 0x5628ae91:38568be0 -- Thu Oct 22 15:08:25 2015
crtime: 0x579ed684:8fd54a34 -- Mon Aug 1 10:26:36 2016
Size of extra inode fields: 32
EXTENTS:
(0):57750808
(END)
Del resultado anterior se desprende que el archivo “About-TecMint” se creó el lunes 1 de agosto a las 10:26:36 2016
según lo proporcionado por crtime . También verá "ctime", "atime" y "mtime" de su archivo.