W przeciwieństwie do Windows, Linux nie zawsze przechowuje datę utworzenia pliku jako część domyślnych metadanych systemu plików—szczególnie w przypadku starszych lub tradycyjnych systemów plików, takich jak ext3. Jednak nowsze systemy plików i wersje jądra oferują częściowe wsparcie.

✅ Co powinieneś wiedzieć:

  1. Standardowe znaczniki czasowe w Linuxie:

    • atime: Czas ostatniego dostępu

    • mtime: Czas ostatniej modyfikacji

    • ctime: Czas ostatniej zmiany statusu (nie utworzenia)

  2. Wsparcie dla czasu utworzenia (btime):

    • Dostępne w ext4, Btrfs, XFS i ZFS (z zastrzeżeniami)

    • Wymaga jądra Linux 4.11+ dla wsparcia ext4

Jak sprawdzić datę utworzenia pliku

🧪 1. Używając stat (na wspierających systemach plików)

stat <filename>

Szukaj pola Birth: lub btime (jeśli wspierane).

🧪 2. Używając debugfs (dla ext4)

sudo debugfs /dev/sdX

Następnie wewnątrz debugfs:

stat /path/to/file

Możesz zobaczyć Inode Created lub podobne pole.

3. Używając ls -lt –time=birth (jeśli wspierane)

ls -lt --time=birth

Uwaga: Może nie działać na wszystkich dystrybucjach lub systemach plików.

Alternatywne obejścia

  • Użyj auditd do rejestrowania zdarzeń utworzenia w czasie rzeczywistym

  • Śledź tworzenie plików ręcznie za pomocą skryptów lub kontroli wersji

  • Użyj narzędzi specyficznych dla systemu plików (jak xfs_io dla XFS)

Wskazówka dla programistów

Jeśli piszesz skrypty lub programujesz w Linuxie i potrzebujesz czasów utworzenia w sposób niezawodny:

  • Ręcznie przechowuj znaczniki czasowe utworzenia w metadanych pliku xattr lub logach

  • Lub użyj bazy danych/systemu plików, który rejestruje to natywnie