Es gibt häufig Situationen, in denen Sie kürzlich erstellte, neue Dateien im Betriebssystem anzeigen müssen. Dies wird oft von einem Systemadministrator benötigt, der eine Konfigurationsdatei erstellt und dann einfach vergessen hat, wo sie gespeichert wurde. Es kann auch notwendig sein, nach neuen Dateien zu suchen, um zu sehen, ob eine Datei kürzlich geändert wurde oder nicht. Im Allgemeinen können die Situationen sehr unterschiedlich sein. Der Vorteil des Linux-Betriebssystems ist, dass es traditionell mehrere Möglichkeiten bietet, ein bestimmtes Problem zu lösen.
Der einfachste und gebräuchlichste Weg, um neue Dateien unter Linux zu finden, ist das Dienstprogramm Find
. Je nach Bedarf werden verschiedene Parameter übergeben, z. B. können Sie nur nach Dateien innerhalb eines bestimmten Zeitraums von Kalendermonaten oder -tagen suchen (siehe unten).
Die Dateien werden in Verzeichnissen und Unterverzeichnissen angezeigt und sortiert:
$ find /etc -type f -printf '%TY-%Tm-%Td %TT %p ' | sort –r
Wie Sie sehen können, ist das Ergebnis recht beeindruckend, aber es ist nicht möglich, neue Dateien in der gesamten Liste zu erkennen. Deshalb müssen wir einen anderen Befehl verwenden:
$ find /etc -type f -mmin -120
So legen wir fest, dass das System nur nach Dateien durchsucht werden soll, die innerhalb der letzten Stunde erstellt wurden.
Wenn es notwendig ist, die letzten zwei Tage abzudecken, dann geben Sie den folgenden Befehl ein:
$ find /etc -type f -mtime -2
Manchmal ist es nicht nötig, in die Unterverzeichnisse der dritten Ebene einzudringen, daher müssen wir die spezielle Option maxdepth
verwenden, um diese Aktion auszuschließen:
$ find /etc -maxdepth 3 -mtime -2 -type f
Wir können alle neuen Dateien sehen, die in den letzten sieben Tagen auf dem Linux-System erstellt wurden, allerdings mit der Ausnahme, dass die letzten drei Tage nicht berücksichtigt werden sollten:
$ find /etc -type f -mtime -7 ! -mtime -3
Diese Befehle geben den Pfad zur Datei aus, aber um die Attribute zu sehen, müssen wir die spezielle Option --exec
verwenden. Als Nächstes werden wir die Attribute jeder neuen Datei mit dem Dienstprogramm ls
ausgeben:
$ find /etc -type f -mmin -120 -exec ls -al {} ;
Wenn Sie diesen Befehl zu verwirrend und kompliziert finden, können Sie einen anderen verwenden:
$ find /etc -type f -mmin -120 | xargs ls -l
Hier verwenden wir bereits ein anderes Dienstprogramm, xargs
. Mit dem Hilfsprogramm find können Sie auch Dateien finden, die neuer sind als eine bestimmte Datei. Legen wir zum Beispiel eine Referenzdatei an:
$ touch /tmp/test
Finden Sie nun alle neueren Dateien im Stammverzeichnis, die nach dieser Datei erstellt wurden:
$ find / -type f -newer /tmp/test
Gehen wir zu einer anderen Methode über.
Diese Methode der Suche nach neuen Dateien ist viel einfacher als die vorherige, so dass sie für Linux-Anfänger zu empfehlen ist. Der Befehl ls
kann auch Dateien in einem Verzeichnis nach dem Erstellungsdatum sortieren. Dazu müssen wir nur ls ausführen:
$ ls -ltr
Es kann sein, dass es zu viele Dateien gibt, deshalb ist es ratsam, auch diesen Befehl auszuführen:
$ ls -ltr | tail
Dies sind nicht alle Möglichkeiten, neue Dateien zu finden, aber sie reichen aus, um die Arbeit schnell und effizient zu erledigen. Wie Sie sehen, können die grundlegenden Suchbefehle find und ls noch flexibler gestaltet werden, wenn sie mit sort, tail
und grep
kombiniert werden.