So finden Sie eine Datei nach Namen in Linux

Finden Sie Ihre Dateien mühelos über die Befehlszeile in Linux

Benutzer versuchen normalerweise, eine Datei mithilfe der GUI zu finden. Manchmal wird es jedoch zu einer sehr mühsamen Aufgabe, eine einzelne Datei in dem riesigen Dateistapel auf Ihrem System zu finden. Herkömmlich zu finden kann eine zeitaufwändige Aufgabe sein. Um diese Aufgabe zu erleichtern, bietet Linux bestimmte Befehle, um diese Aufgabe für Sie zu erledigen.

finden ist ein beliebter Befehl, der in Linux-Systemen verwendet wird und Ihnen bei der Suche nach verschiedenen Dateien basierend auf Namen, Typ, Erweiterung, Berechtigungen, Besitzer usw. helfen kann.

In diesem Tutorial konzentrieren wir uns darauf, die Dateien anhand des Namens zu finden. Wir werden uns die verschiedenen Argumente ansehen, die mit dem verwendet werden können finden Befehl. Wir erfahren auch mehr über die Lokalisieren -Befehl, der auch eine schnellere Möglichkeit bietet, die Dateien nach Namen zu suchen.

Syntax für finden Befehl

Verwendung der finden Befehl in geeigneter Weise kann Ihre Aufgabe erleichtern. Das Auffinden von Dateien eines bestimmten Typs oder einer bestimmten Erweiterung oder die Suche nach dem Namen ist möglich, wenn Sie die allgemeine Syntax dieses Befehls gut verstehen.

Die allgemeine Syntax für die finden Befehl lautet wie folgt.

find [search_path] [expression] [options] [find_what]

Ich habe versucht, die Syntax der zu vereinfachen finden Befehl, um den Befehl besser zu verstehen.

Schauen wir uns jedes Attribut der Syntax an, um eine Vorstellung von der Bedeutung jedes einzelnen zu bekommen.

Suchpfad: Hier kommt der Pfad, in dem wir den Pfad angeben, von dem aus das System mit der Suche nach der Datei beginnen soll. Kurz gesagt wird das Startverzeichnis zum Starten der Suche angegeben.

Ausdruck: Sie können die Suchmuster für die bestimmte Datei angeben, die Sie suchen.

Optionen: Sie können die verfügbaren Optionen verwenden, die mit dem finden Befehl in diesem Raum.

finde was: Geben Sie in dieses Attribut den Namen oder einen Teil des Namens der zu durchsuchenden Datei ein.

Lassen Sie uns diesen Befehl an einem Beispiel veranschaulichen.

finde /home/gaurav/workspace -name "source.c"

In diesem Befehl verwende ich das finden Befehl, um nach einer Datei „source.c“ zu suchen. Ich habe ausdrücklich darum gebeten, im Pfad ‚/home/gaurav/workspace‘ zu suchen. Verwendung der -Name Option ermöglicht es mir, die durch ‚source.c‘ angegebene Datei zu durchsuchen.

Dies ist die einfachste Demonstration für die Verwendung des finden Befehl.

Durchsuchen von Dateien im aktuellen Verzeichnis

Verwendung der finden Befehl in seiner einfachsten Form ist die Suche nach Ihren Dateien in Ihrem aktuellen Arbeitsverzeichnis.

finden .

Dieser Befehl zeigt alle Dateien in Ihrem aktuellen Arbeitsverzeichnis an. Hier die '.‘ bedeutet das ‘aktuelle Arbeitsverzeichnis’. Es folgt die Ausgabe aus meinem aktuellen Arbeitsverzeichnis. Alle in diesem Verzeichnis vorhandenen Dateien werden ohne Filter aufgelistet

Ausgabe:

. ./context_log.policy ./snap ./snap/couchdb ./snap/couchdb/current ./snap/eclipse ./snap/eclipse/current ./snap/vim-editor ./snap/vim-editor/current ./ snap/vim-editor/common ./snap/vim-editor/1 ./snap/htop ./snap/htop/current ./snap/htop/common ./snap/htop/common/.local ./snap/htop /common/.local/lib ./snap/htop/common/.local/lib/locale ./snap/htop/common/.local/lib/locale/en_IN.UTF-8 ./snap/htop/common/. local/lib/locale/en_IN.UTF-8/LC_CTYPE

Um nach einer Datei zu suchen, deren ungefährer Name bekannt ist, verwenden Sie die finden Befehl wie unten gezeigt.

finden . -name [string_from_filename\*]

Beispiel:

finden . -name Kontext\*

Dieser Befehl sucht nach den Dateien, die die Zeichenfolge ‚context‘ enthalten.

Ausgabe:

./context_log.policy ./context.xml ./context_preview.c

Alle Dateien im aktuellen Verzeichnis werden aufgelistet, die die Zeichenfolge ‚context‘ enthalten.

Nun tritt bei diesem Befehl das Problem auf, wenn Sie versuchen, sich bei der Eingabe des Dateinamens oder der ungefähren Zeichenfolge die Groß-/Kleinschreibung zu erlauben.

Linux ist ziemlich vorsichtig bei der Berücksichtigung der Groß-/Kleinschreibung und daher besteht eine gute Chance, dass Ihre Suche fehlschlägt. Ich erhalte keine Ausgabe für den find-Befehl, wenn ich die Zeichenfolge als ‚CONTEXT‘ anstelle von ‚context‘ verwende. Auch wenn ein einzelner Buchstabe im Dateinamen anders ist als der ursprüngliche Dateiname, schlägt die Suche fehl.

Aber kein Grund zur Sorge. Sie können die einfach ersetzen -Name Option mit der -iname. Auf diese Weise können Sie nach den Dateien suchen, unabhängig davon, in welchen Fällen ihr Name lautet. Nehmen Sie einfach diese einfache Änderung in Ihrem Befehl vor und alles wird gut.

finden . -iname WEITER\*

Die Ausgabe ist dieselbe, auch wenn ich die Zeichenfolge in Großbuchstaben verwendet habe.

./context_log.policy ./context.xml ./context_preview.c

Durchsuchen von Dateien in verschiedenen Verzeichnissen

Sie können ganz einfach in jedem Verzeichnis auf dem Linux-System nach den Dateien suchen, unabhängig davon, in welchem ​​Verzeichnis Sie gerade arbeiten.

find [Verzeichnispfad] -iname [spezifischer_Dateiname]

Beispiel:

finde /home/gaurav/tomcat -iname ath.html

Hier habe ich nach einer bestimmten Datei ‚ath.html‘ gesucht und nicht nach ähnlichen Dateien wie dieser Zeichenfolge. Die Ausgabe ist also nur die spezifische Datei, wie oben erwähnt.

/home/gaurav/tomcat/ath.html

Angenommen, wir kennen nicht den vollständigen Dateinamen, sondern nur die Zeichenfolge dieses Dateinamens. Dann können wir die Dateien wie folgt durchsuchen.

finde /home/gaurav/tomcat -iname ath\*

Dieser Befehl sucht nach allen Dateien, die am Anfang die Zeichenfolge „ath“ enthalten. Ich habe die benutzt -iname Option hier, sodass ich mir keine Gedanken über die Groß-/Kleinschreibung machen muss.

Ausgabe:

/home/gaurav/tomcat/ATHENIAN_ART.html /home/gaurav/tomcat/ath_things.html /home/gaurav/tomcat/ath.html /home/gaurav/tomcat/ATHENIAN_ART.pdf /home/gaurav/tomcat/ATHHHHhow.html

Sie können den Befehl auch verwenden, um mehrere Dateien zu durchsuchen, deren Namen mit einer ähnlichen Erweiterung enden.

Beispiel:

finde /home/gaurav/tomcat -iname "*.c"

Der Befehl sucht nach allen Dateien im angegebenen Verzeichnis, die .c als Erweiterung in ihrem Dateinamen enthalten.

Ausgabe:

/home/gaurav/tomcat/stiil.c /home/gaurav/tomcat/project/temp.c /home/gaurav/tomcat/copy.c /home/gaurav/tomcat/gy.c

Wir haben etwas über die erfahren finden Befehl, um nach den durch den Dateinamen angegebenen Dateien zu suchen. Lassen Sie uns nun einen weiteren Befehl untersuchen, der schneller ist als der herkömmliche finden Befehl.

Lokalisieren Befehlsübersicht

Es gibt einen weiteren Befehl, um nach den Dateien auf Ihrem System zu suchen, der schneller ist als der finden Befehl. Es ist das Lokalisieren Befehl. Dieser Befehl ist auf den Linux-Distributionen nicht vorinstalliert. Sie können die folgenden Schritte ausführen, um das herunterzuladen und zu installieren Lokalisieren Befehlspaket auf Ihr System.

Für Ubuntu- und Debian-Systeme, benutzen:

sudo apt aktualisieren sudo apt installieren mlocate

Für Cent Os- und Fedora-Systeme, benutzen:

sudo yum installiere mlocate

Der Befehl Locate sucht nach der Datei nach dem angegebenen Muster in der Eingabe. Lokalisieren verwendet die Datenbankdatei, um nach den Dateien zu suchen, diese Datenbankdatei wird von der aktualisiertb Befehl.

sudo aktualisiertb

Die Zeit zum Aktualisieren dieser Datenbankdatei kann von Benutzer zu Benutzer variieren, abhängig von den Dateien auf Ihrem System.

Verwendung der Lokalisieren Befehl

Du kannst den ... benutzen Lokalisieren Befehl wie folgt. Stellen Sie sicher, dass Sie Ihre Datenbankdatei mit dem Befehl aktualisieren sudo aktualisiertb.

Syntax:

suchen Sie [Dateiname_oder_Teil_von_Dateiname]

Dieser Befehl startet die Suche aus dem Root-Verzeichnis. Es gibt die Liste aller Dateien auf dem System zurück, die den Dateinamen oder einen Teil des Dateinamens enthalten, wie im Befehl angegeben.

Beispiel:

lokalisieren copy.c

Ausgabe:

/home/gaurav/Downloads/git-2.23.0/copy.c /snap/core/9804/usr/lib/python3.5/__pycache__/copy.cpython-35.pyc /snap/core/9993/usr/lib /python3.5/__pycache__/copy.cpython-35.pyc /snap/core18/1880/usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /snap/core18/1885/usr/lib/python3 .6/__pycache__/copy.cpython-36.pyc /snap/core20/634/usr/lib/python3.8/__pycache__/copy.cpython-38.pyc /usr/lib/python3.5/__pycache__/copy.cpython -35.pyc /usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /usr/share/icons/MacBuntu-OS/apps/128/copy.com.png

Die hervorgehobene Zeile zeigt, dass die exakte Datei ‚copy.c‘ gefunden wurde. Zusammen mit diesem Ergebnis werden auch bestimmte andere Dateien angezeigt, die „copy.c“ als Teil ihres Dateinamens enthalten.

Um das Durcheinander anderer unerwünschter Dateien zu vermeiden und nur die gewünschte Datei zu finden, können Sie den Befehl "locate" wie folgt verwenden.

finde -b '\Dateiname'

Beispiel:

finde -b '\copy.c'

Ausgabe:

/home/gaurav/Downloads/git-2.23.0/copy.c

Die in den Suchkriterien erwähnte spezifische Datei wird zusammen mit dem Pfad des Verzeichnisses aufgeführt, in dem sie sich befindet.

Verwendung der Lokalisieren Der Befehl mag etwas kompliziert erscheinen, ist aber eine schnellere Methode, um nach Dateien zu suchen, wenn Sie den genauen Speicherort dieser Datei nicht kennen. Das Abrufen der Dateien wird superschnell, wenn Sie die Datenbankdatei aktualisiert haben, die der Suchbefehl verwendet.

Fazit

In diesem kurzen Tutorial haben wir zwei wichtige Befehle kennengelernt, finden und Lokalisieren. Jetzt können Sie ganz einfach nach Dateien auf Ihrem System suchen, ohne sich im Dateistapel zu verlieren. Die Verwendung dieser Befehle wird sich bei Ihrer Aufgabe zum Durchsuchen von Dateien sicherlich als zeitsparend und effizient erweisen.