Bestimmte Pfade von find ausschließen
Wenn man mit find etwas suchen möchte, aber eine eventuell gemountete CD oder über NFS gemountete Verzeichnisse nicht berücksichtigen will, kann man diese mit folgendem Befehl ausschließen.
Beispielsweise möchte man die ganze Festplatte nach Dateien nach dem Muster *.txt durchsuchen, aber weder im Verzeichnis /mnt/server noch auf der CD suchen. Dann ist folgender Befehl hilfreich:
find / \(-path /cdrom -o -path /mnt/server \) \ -prune -o -name *.txt -print
Der Befehl ist der Übersichtlichkeit halber in zwei Zeilen geschrieben, eingeben wird man ihn normalerweise in einer Zeile, wobei der \ am Ende der ersten Zeile wegfällt.
Die "\" vor den Klammern sind wichtig, um die Klammer vor der Shell zu schützen (sonst geht's nicht).
Für jedes Verzeichnis oder Datei, die man ausschließen möchte, muss man entweder "-path verzeichnis -prune" angeben oder eben alle Verzeichnisse und Dateien in Klammern zusammenfügen: "-path verzeichnis -o -path datei -o -path nocheinedatei...) -prune"
Ich persönlich finde die Methode mit der Klammer natürlich schöner (weniger zu schreiben).