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.

Raketenmann
quelle

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'
Enzotib
quelle
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