Portál AbcLinuxu, 14. května 2025 01:03

Dotaz: změna času vytvoření souboru

11.6.2006 19:38 Filip Hesse | skóre: 20
změna času vytvoření souboru
Přečteno: 2106×
Odpovědět | Admin

Mám rád ve fotkách pořádek a u všech souborů si dávám pozor, abych si při přesouvání nezměnil čas vytvoření souboru. Teď mám asi třicet fotek, u kterých jsem si ten čas zničil (teď je aktuální).

"identify -verbose p6100001.jpg" hlásí "Date Time: 2006:06:10 21:11:31". Jak nastavit čas vytvoření souboru? Nepotřebuji žádný skript, těch pár souborů si nabouchám ručně. Předem díky za nápady.

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Jakub Hájek avatar 11.6.2006 19:40 Jakub Hájek | skóre: 14 | blog: zamek | Praha
Rozbalit Rozbalit vše Re: změna času vytvoření souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
man touch
Teprve tehdy, až nebudeme mít co ztratit, budeme opravdu svobodní.
11.6.2006 20:33 Filip Hesse | skóre: 20
Rozbalit Rozbalit vše Re: změna času vytvoření souboru

Možná něco přehlížím, ale tím mohu měnit:
-m change only the modification time
-a change only the access time
Nemám v tom úplně jasno, ale nepotřebuji já měnit ctime?

11.6.2006 20:39 Filip Hesse | skóre: 20
Rozbalit Rozbalit vše Re: změna času vytvoření souboru

Mám to, díky.
touch -t 0606091210.01 -c soubor

11.6.2006 20:57 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: změna času vytvoření souboru
ctime se při jakékoli změně inodu vždy nastaví na aktuální čas. Nemá moc význam se snažit s tím bojovat. Ale nějakými násilnostmi na filesystému by to možná šlo.
$ touch -t 199911111111.11 soubor 
$ stat soubor 
  File: `soubor'
  Size: 61              Blocks: 8          IO Block: 4096   regular file
Device: 301h/769d       Inode: 1441947     Links: 1
Access: (0644/-rw-r--r--)  Uid: (16810/   honza)   Gid: (  100/   users)
Access: 1999-11-11 11:11:11.000000000 +0100
Modify: 1999-11-11 11:11:11.000000000 +0100
Change: 2006-06-11 20:55:23.000000000 +0200
11.6.2006 21:43 Marek Pasovsky | skóre: 32
Rozbalit Rozbalit vše Re: změna času vytvoření souboru
mozna na chvili 'zmanipulovat' cas na pocitaci?

Marek
If you don't understand or are scared by any of the above ask your parents or an adult to help you.
12.6.2006 11:53 Filip Hesse | skóre: 20
Rozbalit Rozbalit vše Re: změna času vytvoření souboru

Jak to tedy je? Myslel jsem ctime = createtime, ale to koukám není. Jaký je rozdíl mezi "change" a "modify" time?

Můžete mi to vysvětlit na příkladu, když v 8h zalotím nový textový dokument. V 9h ho znovu otevřu a připíšu odstavec. A v 10h ho pouze přečtu příkacem cat. Jestli je to vhodný příklad, tak jaký čas bude kde?

12.6.2006 12:16 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: změna času vytvoření souboru
Pohrajte si s příkazem stat a uvidíte. Se souborem lze dělat různé věci:
- změnit inode (založit soubor, otevřít ho pro zápis, změnit práva). V tom případě se změní ctime.
- otevřít pro zápis (změní se mtime)
- otevřít pro čtení (změní se atime)
- pomocí volání utime() lze změnit atime nebo mtime. Tak to dělá např. touch.

Zapomněl jsem na něco? Takže těžko říct, jak změnit ctime, ale to by nikdo neměl ani chtít. Měla by to být jakási "jistota" ve filesystému. Například nelze zkopírovat soubor při zachování ctime atd.

Doporučuji vyzkoušet, jak se chovají adresáře.
12.6.2006 12:23 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: změna času vytvoření souboru
Abych to upřesnil - je jisté, že existuje jaderné volání, které dokáže nastavit ctime na libovolnou hodnotu. Ale já nevím které to je ani nevím, který program nebo funkce libc ho používá. Budu rád, když to tu někdo napíše.
12.6.2006 12:58 Filip Hesse | skóre: 20
Rozbalit Rozbalit vše Re: změna času vytvoření souboru

Díky, to mi stačí, teď můžu zkoušet, vím co sledovat. Díky i všem ostatním za reakce.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.