Wiem, jak uzyskać plik mtime w formacie epoki:
stat --format=%Y <file>
Ale nie byłem w stanie dowiedzieć się, jak ustawić mtime pliku w formacie epoki. Strona podręcznika dotykowego (1) wydaje się akceptować tylko wartość „znacznika czasu” (mniej więcej ustalony format, który wykorzystuje miesiące, dni, godziny, minuty, itp.) Lub „w większości dowolny format czytelnego dla człowieka ciągu daty”.
Czy jest jeszcze jakieś narzędzie, nad którym powinienem się zastanowić?
Dzięki.
shell
timestamps
touch
eil
źródło
źródło
Odpowiedzi:
Przynajmniej w świecie GNU:
Jak z
date
.źródło
Z
perl
:Spowoduje to zmianę mtime wszystkich plików
@ARGV
.(stat($_))[8]
jest atime pliku.utime
może otrzymać listę plików, jeśli nie przejmujesz się zmianą, możesz spróbować:Uwaga
utime
zależy od biblioteki wykonawczej C i używanego systemu plików. zobacz więcej wperldoc -f utime
iperldoc perlport
.źródło
Za pomocą
touch
polecenia z GNU coreutils (tj. W niewbudowanym systemie Linux i Cygwin), spójrz do pełnej instrukcji (zwykle dostępnej lokalnie w formacie informacyjnym), aby uzyskać dokumentację formatów wprowadzania daty . Daty epoki są oznaczone prefiksem@
:Działa to również z BusyBox (przynajmniej w niektórych systemach, może to zależeć od opcji kompilacji).
Z * BSD nie sądzę, że możesz to zrobić
touch
sam, ale możesz zadzwonić,date
aby sformatować czas epoki do formatu, którytouch
akceptuje.POSIX notorycznie nie ma możliwości manipulowania datami epoki. Możesz użyć perla .
źródło