Heim > Artikel > Betrieb und Instandhaltung > Einführung in den Unterschied zwischen find und grep und allgemeine Befehle unter Linux
suchen
Funktion: Nach Dateien in der Verzeichnisstruktur suchen und bestimmte Vorgänge ausführen. Dieser Befehl bietet eine ganze Reihe von Suchbedingungen und ist sehr leistungsfähig.
Syntax: Suchort suchen, der mit dem Dateinamen übereinstimmt
Erläuterung: Der Suchbefehl beginnt im angegebenen Startverzeichnis, durchsucht rekursiv dessen Unterverzeichnisse, findet Dateien, die die Suchbedingungen erfüllen, und führt relevante Vorgänge aus.
grep
Der vollständige Name von grep ist Global Regular Expression Print.
Ein leistungsstarkes Textsuchtool, das reguläre Ausdrücke verwenden kann, um Text zu durchsuchen und passende Zeilen zu drucken.
Syntax: grep entspricht ZeichenfolgeDateinamen
Unter Linux müssen Sie häufig nach Dateien suchen. Zu den wichtigsten Suchbefehlen gehören find und grep. Es gibt einen Unterschied zwischen den beiden Befehlen.
Unterschied:
(1) Der Suchbefehl sucht basierend auf den Attributen der -Datei , wie Dateiname, Dateigröße, Besitzer, Gruppe, zu der sie gehört, ob sie leer ist, Zugriffszeit, Änderungszeit usw.
(2) grep sucht basierend auf dem Inhalt der Datei und durchsucht jede Zeile der Datei nach einem bestimmten Muster (Muster).
1. Befehl suchen
Grundformat: Pfadausdruck finden
1. Suche nach Dateinamen
(1)find / -name httpd.conf #Suchen Sie die Datei httpd.conf im Stammverzeichnis, was bedeutet, dass die gesamte Festplatte durchsucht wird
(2)find /etc - name httpd. conf #Die Datei httpd.conf
(3)find /etc -name '*srm*' #Verwenden Sie den Platzhalter * (0 oder mehr) im Verzeichnis /etc. Zeigt an, dass der Dateiname die Zeichenfolge 'srm' im Verzeichnis /etc enthält.
(4) find . -name 'srm*' #Gibt an, dass der Anfang des Dateinamens gefunden wird das aktuelle Verzeichnis Die Datei, die die Zeichenfolge „srm“ ist. Dateien (Zugriffszeit) (2)find / -atime -2 # Dateien suchen, auf die in den letzten 48 Stunden im System zugegriffen wurde(3)find / -empty # Finde Dateien, auf die in den letzten 48 Stunden im System zugegriffen wurde. Leere Dateien oder Ordner
(4)find / -group cat Dateien, die in den letzten 5 Minuten im System geändert wurden (Zeit ändern). ) (6)find / -mtime -1 #Dateien finden, die in den letzten 24 Stunden im System geändert wurden (7 )find / -user fred #Dateien finden, die dem Benutzer fred gehören im System (8)find / -size +10000c #Suchen Sie nach Dateien, die größer als 10000000 Bytes sind (c: Bytes, w: Double Words, k:KB, M:MB, G:GB)(9)find / -size -1000k #Dateien mit weniger als 1000 KB finden 3. Verwenden Sie die gemischte Suchmethode, um Dateien zu finden Die Parameter sind: ! ,-und(-a),-oder(-o). (1)find /tmp -size +10000c -and -mtime +2 #Suchen Sie Dateien im /tmp-Verzeichnis, die größer als 10000 Bytes sind und innerhalb der letzten 2 Minuten geändert wurden
( 2 )find / -user fred -or -user george #Suche nach Dateien im /-Verzeichnis, in dem sich der Benutzer fred oder george befindet (3)finde /tmp ! -user panda #Finde alle Dateien im /tmp Verzeichnis, das keine Dateien des Panda-Benutzers sind
2. grep-Befehl
Grundformat: Ausdruck suchen
1. Hauptparameter [Optionen]Hauptparameter:
-c: Gibt nur die Anzahl der übereinstimmenden Zeilen aus.
-i: Groß-/Kleinschreibung wird nicht beachtet
-h: Dateinamen werden bei der Abfrage mehrerer Dateien nicht angezeigt.
-l: Bei der Abfrage mehrerer Dateien werden nur die Dateinamen ausgegeben, die übereinstimmende Zeichen enthalten.
-n: Übereinstimmende Zeilen und Zeilennummern anzeigen.
-s: Zeigt keine Fehlermeldungen an, die nicht vorhanden sind oder keinen passenden Text haben.
-v: Zeigt alle Zeilen an, die keinen passenden Text enthalten.
MusterRegulärer Ausdruck Hauptparameter:
: Ignorieren Sie die ursprüngliche Bedeutung des Sonderzeichens im regulären Ausdruck.
^: Entspricht der Startzeile des regulären Ausdrucks.
$: Entspricht der Endzeile des regulären Ausdrucks.
<: Beginnen Sie mit der Zeile, die dem regulären Ausdruck entspricht.
>: Gehen Sie zum Ende der Zeile, die dem regulären Ausdruck entspricht.
[ ]: Ein einzelnes Zeichen wie [A] bedeutet, dass A die Anforderungen erfüllt.
[-]: Bereiche wie [A-Z], also A, B, C bis Z, erfüllen alle die Anforderungen.
.: Alle Einzelzeichen.
*: Es gibt Zeichen und die Länge kann 0 sein.
2. Beispiel
(1) grep 'test' d* #Zeigt alle Zeilen an, die mit d beginnen und test
( 2) grep 'test' aa bb cc #Zeigt die Zeilen an, die test in den aa-, bb-, cc-Dateien enthalten
(3) grep '[a-z]{5}' aa #Zeigt alle Zeichenfolgen an, die jede Zeile enthalten Zeilen mit a Zeichenfolge aus mindestens 5 aufeinanderfolgenden Kleinbuchstaben
(4) grep magic /usr/src #Zeigt die Zeilen im Verzeichnis /usr/src (ohne Unterverzeichnisse) an, die magic
(5)grep enthalten -r magic /usr/src #Zeigt Dateien im Verzeichnis /usr/src (einschließlich Unterverzeichnissen) an, die magische Zeilen enthalten
(6)grep -w Musterdateien: Übereinstimmung nur mit ganzen Wörtern, nicht mit Teilen von Zeichenfolgen (z. B. entspricht „magisch“, nicht „magisch“),
Das obige ist der detaillierte Inhalt vonEinführung in den Unterschied zwischen find und grep und allgemeine Befehle unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!