Während es viele Möglichkeiten gibt, Dateien und Verzeichnisse unter Linux zu suchen und zu finden, ist das einfachste und schnellste wahrscheinlich über das Terminal. Dies wissen jedoch nicht viele Linux-Benutzer, was zu unnötiger Frustration führt. Hier ist eine Kurzanleitung, die Ihnen hoffentlich dabei hilft, das zu finden, wonach Sie in Ihrem System suchen.
Verwenden Sie den Befehl Locate
Der Befehl „locate“ ist der erste Ausweg, den ein Linux-Benutzer verwenden sollte, da er viel schneller ist als alles andere da draußen., Der Grund für diese unübertroffene Geschwindigkeit ist, dass der Befehl locate Ihre lokalen Festplatten nicht nach den Dateien oder Verzeichnissen durchsucht, die Sie finden müssen, sondern eher nach dem Durchlesen des mlocate.db-Datenbankdatei, die alle Dateipfade in Ihrem System enthält.
Wenn Sie locate noch nicht installiert haben, verwenden Sie die folgenden Befehle:
Debian und Ubuntu
sudo apt-get install locate
CentOS
yum install locate
Bereiten Sie locate für die erste Verwendung vor
Um das mlocate zu aktualisieren.,db-Datenbank Führen Sie vor der ersten Verwendung Folgendes aus:
sudo updatedb
Um locate zu verwenden, öffnen Sie ein Terminal und geben Sie locate gefolgt von dem gesuchten Dateinamen ein. In diesem Beispiel Suche ich nach Dateien, die das Wort „sunny“ in Ihrem Namen.
locate sunny
Locate kann Ihnen auch sagen, wie oft ein Suchbegriff in der Datenbank übereinstimmt. Dies wird erreicht, indem ein“ – c “ – Parameter in den Befehl eingefügt wird, der für „count“steht.,
locate -c sunny
Was Benutzer hier beachten müssen, ist, dass“ locate “ im Gegensatz zu anderen flexibleren Tools den spezifischen und genauen Namen der gesuchten Datei benötigt. Das bedeutet, dass locate großartig ist, um etwas zu finden, bei dem Sie sich seines Namens sicher sind, aber nicht so gut, wenn Sie sich nicht genau an den Dateinamen erinnern.
locate howtoforge
vs
locate Howtoforge
Außerdem liest“ locate “ eine Datenbankdatei, Die Ergebnisse sind möglicherweise veraltet und nicht vollständig wahr., Um dieses Problem zu beheben, können Sie Ihre Dateipfade-Datenbank aktualisieren, indem Sie in einer Terminalsitzung „sudo updatedb“ eingeben.
Weitere Beispiele zur Verwendung des Befehls locate finden Sie hier.
Wenn Sie danach immer noch nicht das bekommen, wonach Sie gesucht haben, oder einfach von der Anzahl der Ergebnisse überwältigt sind, fahren Sie mit dem nächsten Schritt fort, dem Befehl „Suchen“.
Verwenden Sie den Befehl Find
Der Befehl „find“ ist ein viel leistungsfähigeres, aber auch langsameres Suchprogramm., Dies liegt daran, dass im Gegensatz zum Befehl“ Suchen „“ Suchen “ Ihre Festplatten tatsächlich nach den Dateien und Verzeichnissen durchsucht, nach denen der Benutzer sucht. Find ist perfekt, wenn Sie versuchen, eine Datei oder ein Verzeichnis zu finden, aber Sie können sich nicht an ihren Namen erinnern, da „find“ nach Dateien suchen kann, die zu einem bestimmten Benutzer oder einer bestimmten Benutzergruppe gehören, Dateien, die kürzlich geändert wurden oder auf die zugegriffen wurde, Dateien mit einem bestimmten Größenbereich, versteckte Dateien, ausführbare Dateien, schreibgeschützte Dateien und Dateien mit bestimmten Berechtigungen., Der beste Teil ist, dass ein Benutzer frei ist, mehrere der oben genannten Kriterien in einem „finden“ Befehl zu kombinieren, im Wesentlichen die Ergebnisse eingrenzen.
Apropos Eingrenzen, das erste, was Sie tun möchten, wenn Sie „find“ ausführen, ist, es anzuweisen, in einem bestimmten Verzeichnis zu suchen. Dies beschleunigt den Suchvorgang erheblich, hängt jedoch immer von der Größe des Verzeichnisses ab. Wenn Sie wissen, wo sich die Datei befindet, öffnen Sie das Terminal, navigieren Sie zum Verzeichnis und führen Sie „Suchen“ aus . ”. Dieser Punkt weist find an, im aktuellen Verzeichnis zu suchen., Wenn Sie stattdessen in Ihrem Home-Verzeichnis suchen möchten, ersetzen Sie den Punkt durch“~/“, und wenn Sie Ihr gesamtes Dateisystem durchsuchen möchten, verwenden Sie stattdessen“/“.
Als Beispiel möchte ich nach einer Datei suchen, die ein Poster in meinem Download-Verzeichnis enthält. Ich weiß, dass der Dateiname das Wort „Poster“ enthält, aber ich erinnere mich nicht genau an den Namen., Aus diesem Grund würde ich über das Terminal mit „cd Downloads“ zu meinem Download-Ordner navigieren und dann den Befehl eingeben:
sudo find . -name "*poster*"
Hier ist das Ergebnis:
Dies sagt mir, dass sich im Download-Ordner eine PDF-Datei mit dem Namen „billy_poster copy“ befindet. Wenn ich nicht wüsste, wo es war, würde“ find “ mich immer noch wissen lassen, dass es sich im Download-Ordner befindet, wenn ich in einem übergeordneten Verzeichnis suche.
Wenn ich jetzt den Parameter „-name“ durch „-iname“ ersetze, könnte ich Ergebnisse ohne Rücksicht auf den Groß-und Kleinschreibung erhalten., Das ist etwas, das in „locate“ nicht vorhanden ist, also ein weiteres hilfreiches Element, wenn Sie sich über den Dateinamen nicht sicher sind.
sudo find . -iname "*poster*"
Nehmen wir nun an, ich suche immer noch nach derselben Posterdatei und erinnere mich nur noch daran, dass sie kleiner als 5 MB groß ist. Der Befehl, den ich in diesem Fall verwenden würde, ist:
find ~/ -size -5M
Wenn ich wüsste, dass er höher ist als beispielsweise 2 MB, wäre der Befehl“find ~/ -size +2M“. Der beste Teil ist, dass find boolesche Operatoren unterstützt, um die Suche noch stärker zu machen., In diesem Beispiel verwende ich einen Befehl, der mein Wissen kombiniert, dass die Datei weniger als 5 Megabyte groß ist und auch mehr als 2. Der Befehl dafür wäre:
find / -size -5M -and -size +2M
Zuletzt schlagen wir vor, dass wir uns an nichts über die Datei erinnern, aber wir erinnern uns, dass wir darauf zugegriffen haben vor drei Minuten. Um es zu finden, verwenden Sie den Befehl find als:
find / -amin -3
Dies wäre“ find / -amin -30 „für eine halbe Stunde und“- amin -120 “ für zwei Stunden usw., Wenn Sie vor zwei Tagen auf die Datei zugegriffen haben, verwenden Sie stattdessen diese:
find / -time -2
Dies zeigt alle Dateien an, auf die während der letzten zwei Tage zugegriffen wurde suchen.
Ich denke, das Obige deckt die meisten üblichen Anwendungsfallszenarien ab. Weitere Informationen zum leistungsstarken Befehl „Suchen“ finden Sie in einem Terminal und geben Sie „man find“ein. Viel Glück zu finden, was Sie suchen.
Weitere Beispiele für den Befehl Linux find finden Sie hier.
Leave a Reply