Временные параметры файлов в Linux

У каждого файла в ОС Linux существуют параметры mtime, ctime и atime. Тут следует сделать оговорку, что всё в Linux есть файл. В том числе каталог. Хотя изменение параметров отличаются для файлов и директорий.

mtimemodification time — время последнего изменения файла
atimeaccess time — время последнего обращения к файлу
ctimechange time — время последнего изменения атрибутов файла (данные в inode)

Помимо этих параметров в ext4 появилось еще 2:
crtimecreate time — время создания файла
dtimedelete time — время удаления файла


Первые 3 можно увидеть с помощью команды stat, например

stat /home/testdir/
Файл: «/home/testdir/»
Размер: 4096 Блоков: 8 Блок В/В: 4096 каталог
Устройство: 812h/2066d Inode: 533097 Ссылки: 3
Доступ: (0775/drwxrwxr-x) Uid: ( 1000/ xandros) Gid: ( 1000/ xandros)
Доступ: 2014-08-17 00:39:01.210527423 +0700
Модифицирован: 2014-08-17 00:39:06.422527287 +0700
Изменён: 2014-08-17 00:39:06.422527287 +0700

Последние 2 получить немного сложнее. Обратимся за помощью к debugfs. Находим, куда примонтирован каталог, в котором мы работаем:

mount
/dev/sdb2 on / type ext4 (rw,errors=remount-ro)

Обращаемся к debugfs:

sudo debugfs -R 'stat /home/testdir/' /dev/sdb2
Inode: 533097   Type: directory    Mode:  0775   Flags: 0x80000
Generation: 2443146759    Version: 0x00000000:00000004
User:  1000   Group:  1000   Size: 4096
File ACL: 0    Directory ACL: 0
Links: 3   Blockcount: 8
Fragment:  Address: 0    Number: 0    Size: 0
 ctime: 0x53ef973a:64bd04dc -- Sun Aug 17 00:39:06 2014
 atime: 0x53ef9735:323192fc -- Sun Aug 17 00:39:01 2014
 mtime: 0x53ef973a:64bd04dc -- Sun Aug 17 00:39:06 2014
crtime: 0x53ef95c4:60ed0e0c -- Sun Aug 17 00:32:52 2014
Size of extra inode fields: 28
EXTENTS:
(0):2106840

Видим что папка была создана 17 августа 2014 года в 00:32:52.

Получим время удаления. Для этого необходимо знать inode файла/каталога:

ls -li /home/testdir
итого 4
541681 drwxrwxr-x 2 xandros xandros 4096 авг.  17 00:37 testdir2

Удаляем папку и смотрим время удаления:

rm -r /home/testdir
sudo debugfs -R 'stat <541681>' /dev/sdb2
Inode: 541681   Type: directory    Mode:  0775   Flags: 0x80000
Generation: 2443146836    Version: 0x00000000:00000002
User:  1000   Group:  1000   Size: 0
File ACL: 0    Directory ACL: 0
Links: 0   Blockcount: 0
Fragment:  Address: 0    Number: 0    Size: 0
 ctime: 0x53ef99f5:083a42b8 -- Sun Aug 17 00:50:45 2014
 atime: 0x53ef99f5:083a42b8 -- Sun Aug 17 00:50:45 2014
 mtime: 0x53ef99f5:083a42b8 -- Sun Aug 17 00:50:45 2014
crtime: 0x53ef96d0:72172840 -- Sun Aug 17 00:37:20 2014
dtime: 0x53ef99f5 -- Sun Aug 17 00:50:45 2014
Size of extra inode fields: 28
EXTENTS:

Каталог был удален в 00:50:45.

Ссылки: