Linux find gibt immer 1 Datensatz zurück

0

Warum gibt der Befehl find -cmin +20in Linux CentOS immer 1 Datensatz zurück, der ist .? Wie kann ich das umgehen?

Krystian
quelle
Es scheint gut für mich zu arbeiten , wenn ich ein Versuch find /path/to/search -cmin +20 -ls (-ls Drucke / Liste der gefundenen Dateinamen Es ist die Standardeinstellung auf viele installieren , aber explizit mit es eine gute Idee ist die gleiche mit dem.. /path/to/searchDie standardmäßig.
Hennes
Ja, aber versuchen Sie Folgendes: find -cmin +20 | wc -lEs wird immer 1 zurückgegeben, auch wenn Ihr aktueller Katalog leer ist.
Krystian
mkdir test, cd test, find -cmin +20 | wc -l. Meine Ausgabe ist 0.
Hennes
Was sind die Zeitstempel auf beiden Dateien ls -la .?
Hennes
hmmm ... in der Tat, als ich dasselbe tat, war mein Ergebnis 0auch so. Seltsam, weil es in meinem vorhandenen Katalog immer 1 zurückgibt. Ich musste den genannten Katalog löschen und erneut erstellen und jetzt funktioniert es gut. BEARBEITEN: beschriebener Katalog war die ganze Zeit leer
Krystian

Antworten:

0

Wenn Sie keinen bestimmten Pfad eingeben find, nach dem gesucht werden soll, sucht GNU find standardmäßig rekursiv aus dem aktuellen Verzeichnis und schließt dieses ein .. Wörtlich aus man find:

If no paths are given, the current directory is used.

Wenn Sie das Pfadargument selbst nicht in die Ergebnisse aufnehmen möchten, fügen Sie Folgendes hinzu -mindepth 1. Nochmals von man find:

-mindepth levels
   Do not apply any tests or actions at levels less than `levels` (a
   non-negative integer). `-mindepth 1` means process all files except
   the command line arguments.

Beispiel:

~$ mkdir test
~$ cd test
~/test$ find
.
~/test$ find -mindepth 0
.
~/test$ find -mindepth 1
~/test$ 

Gibt mit Ihrem spezifischen Befehl findimmer mindestens einen Datensatz zurück, wenn das aktuelle Verzeichnis selbst älter als 20 Minuten ist. Wenn Sie ein neues Verzeichnis so erstellen, wie Sie es getan haben, wird nichts zurückgegeben, da es nicht den Suchkriterien entspricht - zumindest nicht für 20 Minuten nach seiner Erstellung.

Daniel Andersson
quelle
Ja. Deshalb habe ich gefragt: "Was sind die Zeitstempel in beiden Dateien ls -la." (Eine davon wäre das dir selbst). ;-)
Hennes