Finden Sie eine Datei oder ein Verzeichnis in der gesamten Verzeichnisstruktur


14

Wie finde ich eine Datei mit einem bestimmten Namen in Bash. Ich möchte das ganze System durchsuchen. Ich habe es mit find versucht, aber das klappt nur über eine Ebene.

Antworten:


20

Nein, findstandardmäßig werden alle verfügbaren Ebenen durchlaufen:

sudo find / -mount -name 'myfilename'

Wenn Sie über eine separate Home-Partition oder eine verschlüsselte Home-Partition oder eine sekundäre Festplatte verfügen, möchten Sie möglicherweise auch deren Mount-Punkte auflisten /, z. B. neben

sudo find / /home/enzotib /media/data -mount -name 'myfilename'

Die -mountOption wird benötigt, um das Durchlaufen von gemounteten Dateisystemen zu vermeiden. Unter diesen gibt es /proc, /devund /sysdas ist bequem zu überspringen.

Eine Alternative zum Durchlaufen aller Dateien, bei der nur die letzten drei Pfade vermieden werden, ist

sudo find /!(proc|sys|dev) -name 'myfilename'

um alle Dateien zu finden, die mit "my" beginnen do: find. -name my \ * (bash würde den Stern interpretieren, wenn es keinen Schrägstrich
gäbe
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.