[bash]Zugriffsdatum von Dateien unter einem Verzeichnis bestimmen

genodeftest

Erfahrenes Mitglied
Hallo
Ich möchte das Änderungsdatum eines Verzeichnisses bestimmen. Da das Dateisystem, auf dem das Verzeichnis liegt, mit Standard-Optionen eines neuen Kernels gemountet ist (also ist die mount-option nodiratime aktiv). Ich muss also von allen Dateien in diesem Verzeichnis den Zeitpunkt der letzten Änderung auslesen und das letzte Datum für das gesamte Verzeichnis nehmen.
Was ich also brauche ist Code, der rekursiv oder iterativ ein Verzeichnis mit allen Unterverzeichnis und Dateien durchläuft, die Zugriffszeit ausliest und mit der bisher höchsten Zugriffszeit vergleicht. Gibt es so etwas schon fertig? Ein kleines Tool das so etwas macht oder ein bisschen Code, den ich verwenden könnte? Oder muss ich dazu eine eigene Funktion schreiben?
 
Hi.

Du schreibst einmal "Änderungszeit" und dann wieder "Zugriffszeit". Was denn nun?

Du könntest find und sort verwenden:
Code:
find /path -type f -printf '%T@\n' | sort -nur | head -n1
:google: "man find" & "man sort"

Gruß
 
Oh, sorry. Ich meinte Änderungszeit. Letztlich ist es aber egal, wenn in diesem Verzeichnis eine Datei gelesen wird, wird auch garantiert mindestens eine Datei geändert/geschrieben/…
Und was ich noch vergessen habe: es genügt wenn ich weiß, ob die Datei innerhalb der letzten Woche geändert wurde.

Die Lösung ist recht einfach:
Code:
find /path -ctime 8
mehr brauch ich nicht. Ja, RTFM trifft mal wieder zu, ich habe nicht damit gerechnet, dass find so mächtig ist…
 
Zurück