Comando DEBUGFS - Mostrar tempos de criação de arquivos no Linux
Em sistemas do tipo Unix, como o Linux, tudo é considerado um arquivo, e todas as informações sobre um arquivo (metadados ou atributos do arquivo, como hora de criação, última modificação etc.), exceto o conteúdo real do arquivo, são armazenadas em um inode e no Linux. identifica cada arquivo por seu número de inode diferente do nome do arquivo legível por humanos.
Além disso, o programa Linux stat é um utilitário útil para exibir o status do arquivo ou do sistema de arquivos. Ele mostra informações como número do inode, hora de nascimento do arquivo, última modificação de dados, último acesso, última alteração de status e muito mais. Combinaremos os dois programas para encontrar o tempo real de criação de arquivos no Linux.
Neste artigo, explicaremos como encontrar um dos atributos críticos de um arquivo usando os programas debugfs e stat para obter as seguintes informações de criação/acesso para um arquivo em Sistemas de arquivos Linux.
- ctime: Mostra o horário de alteração do arquivo.
- atime: Mostra o tempo de acesso ao arquivo.
- mtime: Mostra a hora de modificação do arquivo.
- crtime: Mostra a hora de criação do arquivo.
Encontre a data de criação do arquivo no Linux
1. Para encontrar a data e hora de criação de um arquivo “crtime” é encontrar o inode do arquivo usando o comando stat em um arquivo chamado “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, você pode usar o comando ls -i em um arquivo chamado “About-TecMint”.
ls -i About-TecMint
14420015 About-TecMint
Na saída dos comandos acima, o número do inode do arquivo é 14420015. Anote esse número de inode exclusivo, pois usaremos esse número de inode nas etapas a seguir.
2. Agora precisamos encontrar o sistema de arquivos raiz em que nosso arquivo reside, simplesmente execute o seguinte comando df -h para identificar o sistema de arquivos raiz.
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
A partir da saída acima, o sistema de arquivos para a partição raiz é /dev/sda10
(anote este sistema de arquivos). Isso será diferente no seu sistema.
3. Em seguida, utilize o comando debugfs para encontrar o horário de criação do arquivo chamado “About-TecMint”, com o - Sinalizador R
que instrui o debugfs a executar o único comando externo especificado com o número do inode 14420015 (stat neste caso) e então sair.
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)
A partir da saída acima, fica claro que o arquivo “About-TecMint” foi criado em segunda-feira, 1º de agosto, 10:26:36 de 2016
, conforme fornecido por crtime . Você também verá “ctime“, “atime” e “mtime” do seu arquivo.