узнать время создания файла на Linux с помощью Debugfs

Thank you for reading this post, don't forget to subscribe!

В систе­мах Linux все обра­ба­ты­ва­ет­ся как файл, и важ­ные мета­дан­ные о фай­ле, такие как дата созда­ния и изме­не­ния, хра­нят­ся в inodes.

Как найти время создание файла с помощью debugfs

Что­бы узнать вре­мя созда­ния фай­ла, вам сна­ча­ла нуж­но най­ти номер inode целе­во­го фай­ла с помо­щью коман­ды stat.

Коман­да stat – это инстру­мент команд­ной стро­ки, исполь­зу­е­мый для выво­да подроб­ной инфор­ма­ции о мета­дан­ных фай­ла, например:

  • Раз­мер файла
  • Номер inode
  • UID и GID файла
  • Блок ввода/вывода
  • Вре­мя досту­па, моди­фи­ка­ции и изменения.
Вы може­те исполь­зо­вать коман­ду stat в ее базо­вой фор­ме, что­бы про­ве­рить номер inode фай­ла, исполь­зуя синтаксис:
Напри­мер:

Коман­да дает нам номер inode фай­ла subdomain.list  – Ино­да: 951356

Что­бы про­пу­стить всю осталь­ную инфор­ма­цию и про­сто отоб­ра­зить толь­ко номер inode, исполь­зуй­те синтаксис:

Напри­мер:

Когда у вас есть номер inode, вы може­те лег­ко перей­ти к полу­че­нию вре­ме­ни созда­ния фай­ла с помо­щью коман­ды debugfs, исполь­зуя пока­зан­ный синтаксис:

DEVICE пред­став­ля­ет собой блоч­ное устрой­ство, на кото­ром нахо­дит­ся ваш файл, напри­мер /dev/sda1, /dev/sda2 и т. д.
Что­бы про­ве­рить блоч­ное устрой­ство, выпол­ни­те команду:

Исполь­зуя номер inode, кото­рый мы полу­чи­ли ранее, коман­да будет выгля­деть так:

Вре­мя созда­ния пока­за­но дирек­ти­вой crtime: как пока­за­но в выход­ных дан­ных ниже:

Мы видим, что файл был создан 14-го откяб­ря 2020 г. в 11:48:19 

В каче­стве аль­тер­на­ти­вы, вме­сто ука­за­ния номе­ра inode, вы може­те пере­дать пол­ный путь к фай­лу, как пока­за­но тут:

При­ве­ден­ная выше коман­да даст те же резуль­та­ты, что и при исполь­зо­ва­нии номе­ра inode.