Beispielsweise läuft auf meinem Ubuntu-Computer ein MySQL-Server. Einige Daten wurden in den letzten 24 Stunden geändert.
Welche (Linux-) Skripte können die Dateien finden, die in den letzten 24 Stunden geändert wurden?
Bitte geben Sie die Dateinamen, Dateigrößen und die geänderte Zeit an.
Antworten:
So finden Sie alle Dateien, die in den letzten 24 Stunden (letzter ganzer Tag) in einem bestimmten Verzeichnis und seinen Unterverzeichnissen geändert wurden:
Sollte nach Ihren Wünschen sein
Das
-
Vorherige1
ist wichtig - es bedeutet, dass sich vor einem Tag oder weniger etwas geändert hat. Ein+
Vorher1
würde stattdessen bedeuten, dass sich vor mindestens einem Tag etwas geändert hat, während nichts vor dem1
bedeutet hätte, dass es vor einem Tag geändert wurde, nicht mehr und nicht weniger.quelle
-
vor dem numerischen Wert?-ls
wenn Sie es in einem Skript verwendenDas kannst du machen mit
Von
man find
:quelle
Ein anderer, humanerer Weg:
oder:
oder:
quelle
Auf GNU-kompatiblen Systemen (dh Linux):
Dadurch werden Dateien und Verzeichnisse aufgelistet, die in den letzten 24 Stunden geändert wurden (
-mtime 0
). Es listet sie mit der letzten geänderten Zeit in einem Format auf, das sowohl sortierbar als auch lesbar ist (%T+
), gefolgt von der Dateigröße (%s
), gefolgt vom vollständigen Dateinamen (%p
), die jeweils durch Tabulatoren (\t
) getrennt sind.2>/dev/null
wirft alle stderr-Ausgaben weg, damit Fehlermeldungen das Wasser nicht trüben;sort -r
sortiert die Ergebnisse nach den zuletzt zuerst geänderten; und| more
listet jeweils eine Ergebnisseite auf.quelle
| less
anstelle von verwenden| more
, nehme ich an.Fügen Sie für andere, die in Zukunft hier landen (einschließlich mir), die Option -name hinzu, um bestimmte Dateitypen zu finden, z. B.:
find /var -name "*.php" -mtime -1 -ls
quelle
Dieser Befehl hat bei mir funktioniert
quelle