whereis-Befehl wird verwendet, um Binärdateien, Quellcode und Hilfehandbücher zu finden. whereis durchsucht nur mehrere häufig verwendete Installationsverzeichnisse und nicht alle Dateien im gesamten System. Obwohl dies eine Einschränkung von whereis darstellt, ist die Suchgeschwindigkeit von whereis gerade aus diesem Grund sehr hoch. Es ist auch erwähnenswert, dass whereis nicht nach in die Shell integrierten Befehlen sucht.
Zum Beispiel möchten wir den ls-Befehl finden:
whereis ls
Die Ergebnisse sind wie folgt, wobei /bin/ls der Pfad von ls ist und die anderen beiden die Pfade des Hilfehandbuchs sind.
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
Wenn wir ls in das Home-Verzeichnis und in das Verzeichnis /usr/bin/ls kopieren, führen Sie den Befehl whereis erneut aus:
cp /bin/ls ~ cp /bin/ls /usr/bin/ls whereis ls
Die Ergebnisse sind wie folgt: Es kann festgestellt werden, dass whereis das Home-Verzeichnis nicht durchsucht, da das Home-Verzeichnis vorhanden ist Das Verzeichnis ist kein häufig verwendetes Installationsverzeichnis.
ls: /bin/ls /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
Verwenden Sie whereis, um die integrierten Befehle der CD-Shell zu finden:
whereis cd
Die Ergebnisse sind wie folgt, nur der Pfad zum Hilfehandbuch wird angezeigt. Der Befehl
cd: /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz
locate ist ein Suchtool, das auf der Dateidatenbank (/var/lib/mlocate/mlocate.db) basiert. Die Dateidatenbank ist ein Spiegel des gesamten Dateisystems. Der Suchmodus des Befehls „locate“ ist standardmäßig auf Fuzzy-Matching eingestellt, was bedeutet, dass alle Dateien gefunden werden, die Dateinamen enthalten, sodass in der Regel mehr Ergebnisse zurückgegeben werden. Beachten Sie, dass die Dateidatenbank normalerweise einmal täglich aktualisiert wird, sodass einige Dateien, die gerade erstellt oder gelöscht wurden, möglicherweise nicht gefunden werden. Wir können den Befehl „updateb“ ausführen, um diese Datenbank manuell zu aktualisieren. Da die Suche auf der Dateidatenbank und nicht auf dem Dateisystem basiert, ist auch die Ausführungsgeschwindigkeit von „locate“ recht hoch.
Wir verwenden immer noch ls als Beispiel für die Suche:
locate ls
Wir werden viele Ergebnisse erhalten, die ls enthalten. Um die Ausgabeergebnisse genauer zu machen, können Sie den Befehl -b verwenden, der für die Suche den exakten Übereinstimmungsmodus verwendet.
locate -b "\ls"
Auf diese Weise enthält das Ausgabeergebnis nur den Pfad, in dem sich der ls-Befehl befindet. Der Suchbereich des Befehls
/bin/ls
which ist die Umgebungsvariable PATH. Standardmäßig wird nur das erste Ergebnis zurückgegeben, und die Ausführungsgeschwindigkeit ist sehr hoch. Wenn wir nach einem Alias suchen, ordnet der Befehl which vor der Suche auch den tatsächlichen Pfad zu, der dem Alias entspricht.
Zum Beispiel haben wir einen Alias namens ll definiert und der Suchbefehl lautet wie folgt:
which ll
Das Ergebnis lautet wie folgt:
alias ll='ls -l --color=auto' /bin/ls
Wenn wir alle Ergebnisse anzeigen möchten, fügen Sie einfach den Befehl -a hinzu. Der Befehl
which -a your_command
type wird verwendet, um den Typ eines bestimmten Befehls anzuzeigen, z. B. Alias, Schlüsselwort, Funktion, integrierter Befehl, Datei usw. Wie der Befehl whereis sucht der Befehl type nur im Bereich mehrerer häufig verwendeter Installationsverzeichnisse.
Zeigen Sie den Typ des CD-Befehls an:
type cd cd is a shell builtin
Zeigen Sie den Typ einer bestimmten Binärdatei an:
type sudo sudo is /usr/bin/sudo
Anzeigen-Alias:
type ls ls is aliased to `ls --color=auto'
Unter den 5 Suchbefehlen ist der Suchbefehl der leistungsstärkste Befehl und auch der Ausführung Der langsamste Befehl. Im Gegensatz zu den anderen vier Befehlen basiert der Suchbefehl auf der Dateisystemsuche, einem Dateiknoten und einem Dateiknoten. Der Befehl „find“ kann sogar Folgeoperationen an den Suchergebnissen durchführen.
Grundlegende Verwendung des Suchbefehls:
find [path] [option] [action]
Suchen Sie im Home-Verzeichnis und seinen Unterverzeichnissen nach Dateien mit dem Namen aaa:
find ~ -name 'aaa'
Suchen Sie im gesamten Dateisystem nach Dateien mit Änderungszeiten innerhalb von 24 Stunden:
find / -mtime 0
Im Web Verzeichnis von Nginx und seinen Unterverzeichnissen, suchen Sie nach Dateien, deren Benutzer Nginx ist:
find /usr/share/nginx/html/ -user nginx
Suchen Sie im aktuellen Verzeichnis nach Dateien mit der Berechtigung 744:
find -perm -0744
Suchen Sie im aktuellen Verzeichnis nach Dateien mit dem Namen aaa und zeigen Sie deren Details an:
find -name 'aaa' -exec ls -l {} \;
Das obige ist der detaillierte Inhalt vonWas sind die Suchbefehle für Linux-Cloud-Server und wie werden sie verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!