Mit GNU find können Sie das -fstype
Prä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 jfs2
Dateisysteme 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 find
Drucken 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 \)
find / -fstype ext4 -nouser -o -nogroup
ext3 usw. zu