Existují 3 druhy „časových razítek“:
- Přístup – poslední čas čtení souboru
- Upravit – čas, kdy byl soubor naposledy upraven (obsah byl upraven)
- Změnit – poslední změna metadat souboru (např. oprávnění)
K zobrazení těchto informací můžete použít stat
který je součástí coreutils.
stat
zobrazí vám také některé další informace, jako je zařízení, inody, odkazy atd.
Pamatujte, že tento druh informací velmi závisí na souborovém systému a možnostech připojení. Například pokud připojíte oddíl s noatime
možnost, nebudou zapsány žádné přístupové informace.
Nástroj pro změnu časových razítek by byl touch
.Existují některé argumenty pro rozhodnutí, které časové razítko změnit (např. -a pro přístupový čas, -m pro čas modifikace) a pro ovlivnění analýzy nového daného časového razítka.Viz man touch
pro více podrobností.
touch
může být užitečné v kombinaci s cp -u
("kopírujte pouze v případě, že je SOURCE soubor novější než cílový soubor nebo pokud cílový soubor chybí" ) nebo pro vytváření prázdných souborů značek.
Odpověď echox je platná, ale chci přidat informace týkající se času vytvoření souboru.
Podpora systému souborů
Některé systémy souborů podporují další položku v inode týkající se času vytvoření (nebo času narození). Vím, že ext4 podporuje tuto funkci a také JFS a BTRFS.
Většina nástrojů a API však ještě nebyla aktualizována, aby si tyto dodatečné informace přečetla. Takže i když tam může být, není přístupný.
Například na Ubuntu 12.04 LTS dostanu pro soubor, který jsem dnes vytvořil, následující:
$ echo Just another test > /tmp/mytest
$ sleep 3
$ touch /tmp/mytest
$ sleep 2
$ cat /tmp/mytest > /dev/null
$ stat /tmp/mytest
[...]
Access: 2012-06-05 13:33:44.279774711 +0200
Modify: 2012-06-05 13:33:34.611893317 +0200
Change: 2012-06-05 13:33:34.611893317 +0200
Birth: -
$ sudo debugfs -R 'stat /tmp/mytest' /dev/sda1
[...]
ctime: 0x4fcdee8e:91e30114 -- Tue Jun 5 13:33:34 2012
atime: 0x4fcdee98:42b417dc -- Tue Jun 5 13:33:44 2012
mtime: 0x4fcdee8e:91e30114 -- Tue Jun 5 13:33:34 2012
crtime: 0x4fcdee46:01258f1c -- Tue Jun 5 13:32:22 2012
[...]
Můžete vidět, že novější funkce statistik má rodné pole, i když se výstup zdá nesprávný. A přes debugfs můžeme získat informace (crtime, protože jsem na souborovém systému ext4).
podpora statx
Od jádra 4.11 je nyní k dispozici nové systémové volání statx, kromě lepší podpory Y2038 nebo síťových souborových systémů přináší také několik dalších funkcí, jako je btime
nebo čas narození (čas vytvoření) přístup. Podpora pro ext4 by měla být ve stejné verzi jádra 4.11.
V pozdějších verzích jádra byly k dispozici záplaty pro přidání podpory k tomuto novému systémovému volání:např. BTRFS a F2FS v jádře 4.13, SMB3 v 4.14, GFS2 v 4.15, NFS v 4.16 atd.
Nadcházející glibc poskytne volání funkce pro dotaz na toto rozhraní (viz zprávy Phoronix o podpoře glibc statx). Podporu této funkce v uživatelském prostoru tedy můžeme očekávat již brzy.