В система Linux свойствата на даден файл в мениджъра на файлове показват само информация за датата на последния достъп до файла и датата на модификация. Но датата на създаване не се показва там. Понякога се налага да я погледнете, например за да разберете кога е записан дневникът. В тази инструкция ще ви разкажем как да видите какви данни се съхраняват във файловите системи на Linux и ще ви обясним как да разберете датата на създаване на даден файл в Linux. Ще бъдат споменати веднага два удобни начина, всеки от които има своите особености.
Стандартът POSIX определя само 3 вида времеви марки, които файловата система трябва да съхранява:
Ето защо в старите файлови системи често е невъзможно да се види информация за датата на създаване на файла. Но в съвременните файлови системи (ext4, zfs, XFS и т.н.) тя вече се съхранява.
Данните за датата на създаване се записват в специално поле:
Съществуват два метода за преглед на тази информация: stat и debugfs. Първият метод обаче не е подходящ за потребителите на всяка дистрибуция на Linux. Вторият метод е универсален, но не е толкова лесен за използване. Нека разгледаме всеки от тях поотделно.
Помощната програма stat показва подробна информация за даден файл. Наред с други неща, тя показва датата, на която е създаден файлът в Linux. За да я стартирате в терминала, трябва само да посочите пътя до файла. Например, нека разгледаме информацията за изображението pic_1.jpeg, съхранено в каталога /home/root-user/Pictures:
$ stat /home/root-user/Pictures/pic_1.jpeg

Необходимата информация е записана в колоната Created (Създадено). А с помощта на опцията -c можете да зададете определени правила за форматиране на извежданата информация, например да оставите само необходимата колона:
$ stat -c '%w' /home/root-user/Pictures/pic_1.jpeg

Но има една малка трудност. В някои дистрибуции на Linux това поле ще бъде празно, когато използвате помощната програма stat.

Основната причина за това е, че изходните данни се показват в statx(2). Шелът е добавен към библиотеката glibc във версия 2.28. Тоест поддръжката на този шел се появява в набора от основни системни инструменти GNU coreutils 8.31. За да проверите версията, изпълнете тази команда:
$ stat --version

Следователно stat ще може да извежда данни за създаването на файлове само ако са налице специфичните условия, описани по-горе. Например, в дистрибуцията Ubuntu 21.10 всичко работи без проблеми, но в Ubuntu 20.04 полето ще бъде празно.
Помощната програма DebugFS няма ограничения по отношение на версиите. Тя винаги ще работи. Но процедурата за използването му е малко по-сложна. Това е така, защото, за да видите датата на създаване на даден файл чрез debugfs, трябва да знаете неговия inode номер и файловата система. За да получите inode, използвайте командата ls с опцията -i, като посочите пътя до файла:
$ ls -i /home/root-user/scripts/main_script.txt

За да видите файловата система, ще ви бъде полезна командата df:
$ df /home/root-user/scripts/main_script.txt

Сега вече разполагате с всички необходими данни и можете да преминете към помощната програма debugfs. Трябва да й подадете опцията -R, да посочите номера на инода и след това името на файловата система:
$ sudo debugfs -R 'stat <28>' /dev/sda5

След това ще можете да намерите в терминала полето, в което се съхранява датата на създаване. В нашия случай това е crtime.

С това инструкциите са изпълнени.