Wie schließe ich NFS-Verzeichnisse mit find aus?


9

Ich muss nach Dateien suchen, die keinen Benutzer ODER keine Gruppe haben.

find / -nouser -o -nogroup

Ich denke das ist OK. Ich möchte jedoch nicht nach NFS-Freigaben suchen. Wie kann ich die NFS-Freigaben im Befehl find ausschließen?


2
Versuchen Sie, find / -fstype ext4 -nouser -o -nogroupext3 usw. zu
ersetzen

1
Bitte posten Sie dies als Antwort
Gasko Peter

@ DougO'Neal du solltest das als Antwort posten.
Tim Kennedy

1
@ DougO'Neal, das würde nicht aufhören find, in nfs FS abzusteigen, nur um nicht die Dateien zu drucken, die es dort finden würde.
Stéphane Chazelas

Für die Verwendung von -exec mit etwas wie duKombinieren -fstypeund -xdev(aka -mount) scheint notwendig
Gert van den Berg

Antworten:


7

Mit GNU find können Sie das -fstypePrädikat verwenden:

find / -fstype nfs -prune -o \( -nouser -o -nogroup \) -print

Trotzdem ist der Ansatz von Hymie wahrscheinlich sinnvoller: Führen Sie eine weiße Liste auf, welche FS Sie suchen möchten, anstatt diejenigen, die Sie nicht suchen möchten, auf eine schwarze Liste zu setzen.

Wenn Sie nur jfs2Dateisysteme einschließen möchten (vorausgesetzt, diese /sind aktiviert jfs2), müssen Sie sie schreiben:

find / ! -fstype jfs2 -prune -o \( -nouser -o -nogroup \) -print

Schreib es nicht:

find / -fstype jfs2 \( -nouser -o -nogroup \) -print

Während dies das findDrucken von Dateien in einem Nicht-jfs2-Dateisystem stoppen würde, würde dies nicht verhindern, dass diese Nicht-jfs2-Dateisysteme (die Sie benötigen -prune) gecrawlt werden .

Beachten Sie, dass -a( UND, das implizit ist, wenn es weggelassen wird) Vorrang vor -o( ODER ) hat. Sie müssen also beobachten, ob Klammern erforderlich sind oder nicht.

Der obige korrekte Befehl steht für:

find / \( \( ! -fstype jfs2 \) -a -prune \) -o \
  \( \( -nouser -o -nogroup \) -a -print \)

10

Das nächste, was Sie wahrscheinlich bekommen werden, ist die Verwendung -xdev, was bedeutet, dass "Verzeichnisse auf anderen Dateisystemen nicht herabsteigen". Dann müssen Sie festlegen , welche Dateisysteme Sie haben gesucht werden soll.

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.