Come modificare la data / ora di creazione (st_birthtime) di un file in Lion? [duplicare]

8

touch(1) può solo modificare modifica e accesso volte, ma non ha opzioni per il tempo creazione . Questo non funziona, a almeno non su Lion.

Quindi, come faccio a modificare l'orario di creazione , indicato anche come periodo di nascita in fstat(2) ? Non c'è una chiamata corrispondente in utimes(2) e non sembra esserci alcun strumento a riga di comando per questo.

So che posso copiare il file in un nuovo file, che quindi ottiene l'ora corrente come orario di nascita (e quindi eliminare l'originale), ma sicuramente ci deve essere un modo migliore?

    
posta Ingmar Hupp 20.04.2012 - 01:48
fonte

2 risposte

6

touch -t cambia anche il tempo di creazione se il tempo di modifica del target è precedente all'orario di creazione originale.

SetFile può impostare il tempo di creazione prima del tempo di modifica o in futuro.

-d date    Sets the creation date, where date is a string of the
           form: "mm/dd/[yy]yy [hh:mm:[:ss] [AM | PM]]" Notes:
           Enclose the string in quotation marks if it contains spa-
           ces. The date must be in the Unix epoch, that is, between
           1/1/1970 and 1/18/2038. If the year is provided as a two-
           digit year, it is assumed to be in the 21st century and
           must be from 00 (2000) through 38 (2038).

Questo imposterà il tempo di creazione al tempo di modifica:

SetFile -d "$(GetFileInfo -m test.txt)" test.txt

SetFile e GetFileInfo fanno parte del pacchetto di strumenti della riga di comando, che può essere scaricato dalle preferenze di Xcode o developer.apple.com/downloads .

    
risposta data 07.08.2012 - 15:33
fonte
-1

Prova:

cat filename > newfile
mv filename ~/.Trash/
mv newfile filename 

Dovrebbe funzionare.

    
risposta data 20.04.2012 - 03:40
fonte

Leggi altre domande sui tag