Suchen und Finden von Dateien unter Linux mit Befehlen

In Linux-Umgebungen ist es häufig erforderlich, nach bestimmten Dateitypen zu suchen, und wir wissen nicht, wie Sie diese Dateitypen richtig suchen können, ohne viel Zeit zu verschwenden.

Für Linux-Distributionen wurde der Befehl find entwickelt, mit dem Objekte im Dateisystem auf der Grundlage eines bedingten Mechanismus rekursiv gefiltert werden können. Mit diesem Befehl finden wir eine Datei oder ein Verzeichnis in Ihrem Dateisystem.

Wenn wir den Parameter -exec angeben, können die Dateien im selben Befehl sofort gefunden und verarbeitet werden.

1. Suchen Sie Dateien nach Namen oder Erweiterung von Linux-Befehlen

Wir können find über die Befehlszeile verwenden, um eine bestimmte Datei nach Name oder Erweiterung zu suchen.

Ihre Syntax lautet:

 find / home / benutzername / -name "* .extension" 

Zum Beispiel werden wir nach Dateien suchen, die mit .gz enden: Suchen-und-Finden-von-Dateien-in-Linux-mit-Befehlen-1.png

2. Befehle und praktische Syntax für die Suche nach Linux-Befehlen

Mit dem Befehl find haben wir einige Optionen für Parameter wie:

 find options start / route expression 

Das options-Attribut steuert das Verhalten und die Optimierungsmethode des Suchprozesses. Das Attribut start / path definiert das Verzeichnis der obersten Ebene, in dem find die Filterung initiiert.

Das expression-Attribut steuert die Tests, die in der Verzeichnishierarchie durchsucht werden, um eine Ausgabe zu erstellen.
Zum Beispiel können wir Folgendes ausführen:

 find -O3 -L / var / www / -name "* .html" 

Dieser Befehl aktiviert die maximale Optimierungsstufe (-O3) und ermöglicht es Ihnen, den symbolischen Links (-L) zu folgen, um den gesamten Verzeichnisbaum im Pfad / var / www / nach den Dateien zu durchsuchen, die mit .html enden. Suchen-und-Finden-von-Dateien-in-Linux-mit-Befehlen-2.png

3. Optionen und Optimierung mit Linux-Befehlen suchen

In der Standardkonfiguration von Zu durchsuchende Dateien suchen werden symbolische Verknüpfungen (Direktzugriffsdateien) ignoriert. Wenn find den symbolischen Verknüpfungen folgen und sie übernehmen soll, können Sie dem Befehl die Option -L hinzufügen, wie wir zuvor gesehen haben. Find hat drei (3) Optimierungsstufen: -O1, -O2 und -O3.

See also  Senden Sie Daten an eine Ansicht in Laravel

Die Optimierung -O1 ist die Standardeinstellung und zwingt die Suche, basierend auf dem Dateinamen zu filtern, bevor alle anderen Tests ausgeführt werden.

Durch die Optimierung auf -O2-Ebene erhalten Dateinamenfilter wie in -O1 Vorrang. Anschließend werden alle Dateitypen gefiltert, bevor mit anderen ressourcenintensiveren Bedingungen fortgefahren wird. Die Level-Optimierung -O3 ermöglicht es find, eine tiefere Optimierung durchzuführen und ordnet alle Tests basierend auf ihrem relativen Aufwand und der Wahrscheinlichkeit besserer Ergebnisse neu.

Einige der Optionen sind:

Es ist ein Filter, der auf dem ersten Dateinamen basiert
 -O1 (Standard) 

Verwenden Sie zuerst den Dateinamen und dann den Dateityp
 -O2 

Ergebnisse neu anordnen
Mithilfe dieser Funktion kann die Suche automatisch anhand der effizienten Ressourcennutzung und der Wahrscheinlichkeit besserer Ergebnisse neu geordnet werden.

 -O3 

Suchen Sie im aktuellen Verzeichnis sowie in allen Unterverzeichnissen bis zur X-Tiefenebene
 -maxtiefe X 

Suche ohne Berücksichtigung der Groß- und Kleinschreibung
 -iname 

Gibt nur die Ergebnisse zurück, die nicht mit dem Testfall übereinstimmen
 -nicht 

Führen Sie eine Dateisuche durch
 -Typ s 

Nach Verzeichnissen suchen
 -Typ d 

4. Finden Sie Dateien durch Ändern der Linux-Befehlszeit

Mit dem Befehl find kann eine Verzeichnishierarchie basierend auf der letzten Änderung der Datei gefiltert werden.
Die Syntaxen sind:

 find / -name "* conf" -Zeit 8 find / home / user / -name "* conf" -Zeit 2 

Mit dem ersten Befehl wird eine Liste aller Dateien im gesamten Dateisystem angezeigt, die mit den Zeichen conf enden und in den letzten 8 Tagen geändert wurden. Der zweite Befehl filtert das Basisverzeichnis des Benutzers nach Dateien mit Namen, die mit conf-Zeichen enden und in den letzten zwei Tagen geändert wurden.

Verwenden Sie Grep, um inhaltsbasierte Dateien mit Linux-Befehlen zu finden
Der Befehl find kann die Verzeichnishierarchie nur basierend auf dem Namen einer Datei und den Metadaten filtern. Wenn also eine Suche basierend auf dem Inhalt der Datei erforderlich ist, verwenden Sie ein Tool wie grep.

See also  HTML5 - Ajax

Wir werden die folgende Syntax verwenden:

 finden -type f -exec grep "example" '{}' ; -print 

Dadurch wird nach allen Objekten in der aktuellen Verzeichnishierarchie gesucht (.). Dabei handelt es sich um eine Datei (-type f). Anschließend wird für jede Datei, die die Bedingungen erfüllt, der Befehl grep “example” ausgeführt. Passende Dateien werden auf dem Bildschirm ausgedruckt (-print). Die Klammern ({}) sind ein Platzhalter für die Ergebnisse des Suchergebnisses. Das {} wird in einfache Anführungszeichen (‘) eingeschlossen, um zu vermeiden, dass grep einen ungültigen Dateinamen liefert. Der Befehl -exec wird mit einem Semikolon “(;)” beendet, das mit einem Escapezeichen “(;)” versehen werden muss, um eine Interpretation durch den Befehlsinterpreter zu vermeiden.

Suchen und Verarbeiten von Dateien mit dem Befehl Linux-Befehle suchen
Mit der Option -exec können Befehle für alle Objekte ausgeführt werden, die dem Suchausdruck entsprechen.

Ihre Syntax lautet:

 finden -name "rc.conf" -exec chmod o + r '{}' ; 

Dies filtert alle Objekte in der aktuellen Hierarchie (.) Für die Dateien mit dem Namen rc.conf und führt den Befehl chmod oder + r aus, um die Berechtigungen der Suchergebnisse zu ändern.

Somit ist find ein Verbündeter für die vollständige Suche von Dateien unter Linux.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *