Dateien der letzten 2 Tage auf einem gemounteten ntfs-System anzeigen?

8

Was genau ist der Befehl, um Dateien anzuzeigen, die jünger als 2 Tage sind? Ich dachte über so etwas nach:

$ find / -mtime -2

... aber ich bin nicht sicher, wie ich das Datum der gefundenen Dateien drucken soll. Mein Ziel ist es, Dateien auf einem gemounteten ntfs-System zu finden, die in den letzten Tagen neu oder geändert wurden.

Darüber hinaus wäre es sehr hilfreich, die Ergebnisse vom Neuesten zum Ältesten zu sortieren. Ist das möglich?

Bevor
quelle
Wenn Sie Ihre Frage bearbeiten, um nach etwas anderem zu fragen, sollten Sie zumindest diejenigen, die zuversichtlich geantwortet haben, darüber informieren, dass ihre Antwort nicht mehr gültig ist, da neue Besucher hauptsächlich über ihre aktuellen Erfahrungen und nicht über die schwer zu untersuchende Geschichte abstimmen. Mehr noch, das Hinzufügen zusätzlicher Anforderungen später ist meiner Meinung nach ein schlechter Stil. Öffnen Sie dazu eine neue Frage. Unter Berücksichtigung der Anforderungen haben die Menschen möglicherweise einen anderen Ansatz gewählt.
Benutzer unbekannt
Es war nur ein Rechtschreibfehler in meinem Fragentext. Das Thema selbst war korrekt. Im Körper schrieb ich "jünger" statt "älter". Mein Codebeispiel wurde ebenfalls nicht geändert. Aber im Grunde hast du recht.
Bevor

Antworten:

10

Dateien, die vor weniger als 48 Stunden erstellt oder geändert wurden,
sortiert vom neuesten zum ältesten:

find / -mtime -2 -printf "%T@" -ls | sort

Ich habe gefunden %T@aus man find: letzte Änderungszeit (Sekunden seit der Epoche)

olibre
quelle
Ich möchte das Datum der gefundenen Dateien sehen, nicht nur die Dateien selbst. Ich habe die Frage auch aktualisiert, da es sehr hilfreich wäre, die Ergebnisse vom neuesten zum ältesten zu sortieren.
Bevor
Der letzte Befehl ist das, wonach ich suche, danke.
Bevor
Ich brauchte "jünger als" 2 Tage, also von heute bis zwei Tage zuvor (meine Frage war zuerst falsch, ich schrieb "älter als", mein Fehler), aber es funktioniert, wenn ich -2 anstelle von +2 setze. Ich habe es jetzt nicht auf ntfs getestet, ich muss bis morgen darauf warten, aber ich denke, es funktioniert auch dort (wie auf meinem lokalen Ubuntu). Wenn nicht, werde ich es dich wissen lassen.
Bevor
Funktioniert perfekt :)
Bevor
Großartig :-D Wir sehen uns
Olibre
2

Wenn Sie zu xargs weiterleiten, können Sie die Ausgabe- / Formatoptionen einfach anpassen ls, um Datum anzuzeigen, nach Datum zu sortieren usw.

find / -type f -mtime -2 -print0 | xargs -0 ls -lt

wisbucky
quelle
1

Dies ist in zsh dank seiner Glob-Qualifikation einfacher .

print -l /**/*~/(proc|dev|sys)/*(m-2om)

Hier werden alle Dateien unter /aufgelistet, mit Ausnahme von Dateien unter /procoder /devoder /sys, die innerhalb der letzten 2 Tage geändert wurden ( m-2). Die Dateien werden in umgekehrter chronologischer Reihenfolge der Änderungszeit ( om) aufgelistet , eine pro Zeile ( print -l).

Wenn Sie auch die Dateimetadaten auflisten möchten, müssen Sie nicht in der Shell sortieren, sondern nur filtern. Wenn zu viele übereinstimmende Dateien vorhanden sind, kann es zu einer plattformabhängigen Beschränkung der Befehlszeilenlänge kommen.

ls -dlt /**/*~/(proc|dev|sys)/*(m-2)

Wenn Sie nur mit regulären Dateien übereinstimmen möchten, fügen Sie diese .in Klammern hinzu.

Mit nur POSIX-Tools können Sie die Dateiliste ls -dltsortieren und findgenerieren. Auch hier kann es zu einer plattformabhängigen Befehlszeilenlängenbeschränkung kommen, wenn zu viele übereinstimmende Dateien vorhanden sind. Wenn Sie nur reguläre Dateien abgleichen möchten, fügen Sie -type fvorher oder nachher hinzu mtime -2.

find / -mtime -2 -exec ls -dlt {} +
Gilles 'SO - hör auf böse zu sein'
quelle
1

(Hinweis: Ein Satz der Frage wurde ursprünglich für Daten gestellt, die älter als 2 Tage im Text waren, während die Überschrift es umgekehrt hatte. Die Notwendigkeit, die Ausgabe zu sortieren, wurde auch später eingeführt.)

find / -mtime -2 -ls 

Mit +2 sehen Sie Dateien, die älter als 2 Tage sind, mit -2, die jünger als zwei Tage sind, und mit Dateien, die nur 2: 2 Tage alt sind.

Mit -ls erhalten Sie eine ls -l-ähnliche Ausgabe, in der Sie das Dateidatum anzeigen können.

find / -ctime -2 -ls 

Mit ctime anstelle von mtime erhalten Sie das Erstellungsdatum anstelle des Änderungsdatums. Abhängig von den Funktionen und Einstellungen des Dateisystems in der Datei / etc / fstab funktioniert dies möglicherweise oder auch nicht.

Benutzer unbekannt
quelle