it-swarm.com.de

Suchen Sie die Dateien, die in den letzten 24 Stunden geändert wurden

Beispielsweise läuft auf meinem Ubuntu-Rechner 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 listen Sie die Dateinamen, Dateigrößen und Änderungszeiten auf.

223
JackWM

So finden Sie alle Dateien, die in den letzten 24 Stunden (am letzten ganzen Tag) in einem bestimmten Verzeichnis und seinen Unterverzeichnissen geändert wurden:

find /directory_path -mtime -1 -ls

Sollte nach Ihren Wünschen sein

Der - vor 1 ist wichtig - es bedeutet, dass sich irgendetwas vor einem Tag oder weniger geändert hat. Ein + vor 1 würde stattdessen bedeuten, dass sich etwas vor mindestens einem Tag geändert hat, während nichts vor dem 1 bedeutet hätte, dass es vor einem Tag geändert wurde, nicht mehr und nicht weniger.

423
Xavjer

Das kannst du mit machen

find . -mtime 0

Aus man find:

[Die] Zeit seit der letzten Änderung jeder Datei wird durch 24 Stunden geteilt, und alle verbleibenden Daten werden verworfen. Das bedeutet, dass eine Datei, die mit -mtime 0 übereinstimmt, in der Vergangenheit eine Änderung aufweisen muss, die weniger als 24 Stunden zurückliegt.

37
Michael

Ein anderer, menschlicherer Weg:

find /<directory> -newermt "-24 hours" -ls

oder:

find /<directory> -newermt "1 day ago" -ls

oder:

find /<directory> -newermt "yesterday" -ls
17

Auf GNU-kompatiblen Systemen (d. H. Linux):

find . -mtime 0 -printf '%T+\t%s\t%p\n' 2>/dev/null | sort -r | more

Dies listet Dateien und Verzeichnisse auf, die in den letzten 24 Stunden geändert wurden (-mtime 0). Es listet sie mit der letzten geänderten Zeit in einem sortierbaren und lesbaren Format auf (%T+), gefolgt von der Dateigröße (%s), gefolgt vom vollständigen Dateinamen (%p), jeweils getrennt durch Tabulatoren (\t).

2>/dev/null wirft alle stderr-Ausgaben weg, damit Fehlermeldungen das Wasser nicht trüben. sort -r sortiert die Ergebnisse nach den zuletzt geänderten zuerst; und | more listet jeweils eine Ergebnisseite auf.

9
Stephen G Tuggy

Dieser Befehl hat bei mir funktioniert

find . -mtime -1 -print
5
BhandariS

Fügen Sie für andere, die in Zukunft hier landen (einschließlich meiner), die Option -name hinzu, um bestimmte Dateitypen zu suchen, beispielsweise: find /var -name "*.php" -mtime -1 -ls

4
resedasue