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.