Vorwort: Warum sollten wir lernen, den Befehl „find“ zu verwenden?
Jedes Betriebssystem besteht aus Tausenden von Dateien, und dies ist keine Ausnahme für ein Betriebssystem wie Linux, bei dem „alles eine Datei“ ist. Jeder sollte in der Lage sein, die Datei problemlos zu verwenden Suchfunktion unter Windows, aber Sie sind möglicherweise nicht sehr vertraut mit dieser Funktion unter Linux. Wenn Sie mit Linux spielen möchten, müssen Sie diesen Befehl tatsächlich beherrschen, da Linux kein festes Dateinamensuffix wie Windows hat Da Linux die Merkmale von Hunderten von Denkschulen aufweist, die unter dem Lager konkurrieren, kann dieselbe Datei in verschiedenen Distributionen unterschiedlich sein. Wenn Sie also die Verwendung des Befehls „find“ sicher beherrschen, werden Sie auf dem Weg zur Erkundung von Linux viel reibungsloser sein. und Sie werden auch feststellen, dass die Dateisuchfunktion unter Linux eigentlich sehr einfach ist und viel leistungsfähiger als die Suchfunktion in Windows! Okay, kommen wir zum Punkt
Es gibt zwei Befehle, um Dateien unter Linux zu finden; „locate“ und „find“
Lass uns zunächst reden Informationen zu den Befehlen „locate“ und „locate“ durchläuft die von ihm generierte Datenbank (der Befehl zum Generieren der Datenbank: „updateb“). Diese Funktion bestimmt, dass die Verwendung von „locate“ zum Suchen von Dateien sehr schnell ist. was etwas weniger genau ist. Lassen Sie uns kurz die beiden Optionen vorstellen:
#locate
>
Das Folgende konzentriert sich auf „Find“ und durchläuft das gesamte System, ohne das Suchverzeichnis anzugeben. Verwendungsformat: find [Geben Sie das Suchverzeichnis an] [ Suchregeln] [Aktion, die nach der Suche ausgeführt werden soll] [Suchverzeichnis angeben] Zum Beispiel: Was hier zu beachten ist ist, dass Verzeichnisse durch Leerzeichen getrennt werden sollten [Suchregeln] (1) Suche nach Dateinamen >Hier ist eine weitere Einführung in das Wissen über Dateinamen Globbing * bedeutet Globbing eines beliebigen Zeichens? bedeutet Platzhalter für jedes einzelne Zeichen
[ ] bedeutet Platzhalter für jedes einzelne Zeichen (2 ), entsprechend nach Dateien suchen an den Benutzer und die Gruppe, zu der die Datei gehört >
(3), Benutzer anhand von UID und GID finden
# find /tmp -uid 500 //Dateien mit UID 500 finden #Find/TMP-Gid 1000 // Eine Datei mit 1000 finden
(4), -A und -o und — >
Einer davon reicht)
(5), Suchen Sie die Datei
basierend auf den relevanten Attributen des Dateizeitstempels. Mit dem Befehl stat können Sie die Zeitinformationen einer Datei wie folgt anzeigen:
Hier sind Atime, Mtime und CTime die entsprechende "letzte Zugriffszeit", "Last Inhaltsänderungszeit" und "Last Attribut -Modifikationszeit" . Die Einheit von atime bezieht sich hier auf „Tian“, und Amins Einheit ist in Minuten. find /tmp -atime -5 // Zeigt die Suche nach Dateien an, auf die innerhalb von fünf Tagen zugegriffen wurde
Typ
// Linkdatei
// Zeichenvorrichtungsdatei
p 🎜> 7) finden 🎜>
#find /tmp -size 2M //Dateien mit einer Größe von 2M im Verzeichnis /tmp finden
(8), Dateien nach Dateiberechtigungen durchsuchen
-perm
#find /tmp -perm 755 //Datei suchen mit Berechtigung 755 im /tmp-Verzeichnis
#find /tmp -perm +222 // Zeigt an, dass, solange es einen Benutzertyp (Eigentümer, Gruppe, andere) gibt, einfach die Schreibberechtigung übereinstimmen
#Find/TMP-Perm -222 // bedeutet, dass alle Kategorien mit den Schreibberechtigungen zufrieden sein müssen
(9),-nouser und -NOGROUP
#find / -nogroup –a –nouser // Durchsucht das gesamte System nach Dateien, die weder Besitzer noch Gruppe haben (solche Dateien sind normalerweise sehr gefährlich, und als Systemingenieure sollten wir sie rechtzeitig löschen)
[Ausgeführte Aktion finden]
🎜> # -ls // Finde es
# -Ok [Kommentar ] // Wenn der Befehl ausgeführt wird, nachdem der Befehl gefunden wurde, fragen Sie den Benutzer, ob Sie
ausführen möchten. # -exec [Kommentar] // Wenn Sie den Befehl nach der Suche ausführen, fragen Sie den Benutzer nicht, sondern führen Sie Beachten Sie die Verwendung von {} hier: Ersetzen Sie die gefundene Datei #find /tmp -atime +30 – exec rm –rf {}; #Gefundene Dateien löschen, auf die seit mehr als 30 Tagen nicht zugegriffen wurde
Wir können auch xargs verwenden, um die gefundenen Dateien weiter zu bearbeiten