Команда DEBUGFS — показать время создания файла в Linux
В Unix-подобных системах, таких как Linux, все считается файлом, и вся информация о файле (метаданные или атрибуты файла, такие как время создания, последняя модификация и т. д.), за исключением фактического содержимого файла, хранится в индексном дескрипторе, а Linux идентифицирует каждый файл по номеру индексного дескриптора, отличному от удобочитаемого имени файла.
Кроме того, программа Linux stat — полезная утилита для отображения состояния файла или файловой системы. Он показывает такую информацию, как номер индексного дескриптора, время рождения файла, последнее изменение данных, последний доступ, последнее изменение статуса и многое другое. Мы объединим обе программы, чтобы найти фактическое время создания файлов в Linux.
В этой статье мы объясним, как найти один из критических атрибутов файла с помощью программ debugfs и stat, чтобы получить следующую информацию о создании/доступе к файлу в Файловые системы Linux.
- ctime: показывает время изменения файла.
- atime: показывает время доступа к файлу.
- mtime: показывает время изменения файла.
- crtime: показывает время создания файла.
Найти дату создания файла в Linux
1. Чтобы найти дату и время создания файла, “crtime” нужно найти индексный дескриптор файла с помощью команды stat для файла с именем “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: -
Альтернативно вы можете использовать команду ls -i для файла с именем About-TecMint.
ls -i About-TecMint
14420015 About-TecMint
В результате выполнения приведенных выше команд номер индексного дескриптора файла равен 14420015. Запишите этот уникальный номер индексного дескриптора, поскольку мы будем использовать его в следующих шагах.
2. Теперь нам нужно найти корневую файловую систему, в которой находится наш файл. Просто введите следующую команду df -h, чтобы определить корневую файловую систему.
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
Судя по приведенному выше выводу, файловая система корневого раздела — /dev/sda10
(запишите эту файловую систему). В вашей системе все будет по-другому.
3. Затем используйте команду debugfs, чтобы узнать время создания файла с именем About-TecMint, используя - Флаг R
, который указывает debugfs выполнить одну внешнюю команду, указанную с номером индексного дескриптора 14420015 (в данном случае stat), а затем выйти.
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)
Из приведенного выше вывода ясно, что файл About-TecMint был создан понедельник 1 августа 10:26:36 2016
, как указано в crtime. >. Вы также увидите «ctime», «atime» и «mtime» вашего файла.