Bagaimana cara mengecualikan direktori NFS dengan find?

9

Saya perlu mencari file yang tidak memiliki pengguna atau grup.

find / -nouser -o -nogroup

Saya pikir ini baik-baik saja. Tapi, saya tidak ingin mencari saham NFS. Bagaimana saya bisa mengecualikan saham NFS dalam perintah find?

peter gasko
sumber
2
Coba find / -fstype ext4 -nouser -o -nogroupPengganti ext3, dll. Jika Anda tidak menggunakan ext4
doneal24
1
tolong posting ini sebagai jawaban
gasko peter
@ DougO'Neal Anda harus memposting itu sebagai jawaban.
Tim Kennedy
1
@ DougO'Neal, itu tidak akan berhenti findturun ke nfs FS, hanya saja tidak untuk mencetak file yang akan ditemukan di sana.
Stéphane Chazelas
Untuk menggunakan -exec dengan sesuatu seperti dumenggabungkan -fstypedan -xdev(alias -mount) tampaknya perlu
Gert van den Berg

Jawaban:

7

Dengan GNU find, Anda dapat menggunakan -fstypepredikat:

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

Karena itu, pendekatan hymie mungkin lebih masuk akal: buat daftar putih FS apa yang ingin Anda cari daripada daftar hitam yang tidak ingin Anda cari.

Jika Anda hanya ingin memasukkan jfs2sistem file (dengan asumsi /aktif jfs2), maka, Anda perlu menulisnya:

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

Jangan tulis itu:

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

Karena sementara itu akan berhenti findmencetak file dalam sistem file non-jfs2, itu tidak akan menghentikannya dari merayapi file sistem non-jfs2 tersebut (yang Anda perlukan -prune).

Perhatikan bahwa -a( DAN yang tersirat jika dihilangkan) memiliki prioritas lebih dari -o( ATAU ), jadi Anda perlu memperhatikan apakah tanda kurung diperlukan atau tidak.

Perintah yang benar di atas adalah kependekan dari:

find / \( \( ! -fstype jfs2 \) -a -prune \) -o \
  \( \( -nouser -o -nogroup \) -a -print \)
Stéphane Chazelas
sumber
10

Cara terdekat yang mungkin Anda dapatkan adalah menggunakan -xdev, yang berarti "Jangan turun direktori di sistem file lain." Kemudian Anda akan perlu untuk menentukan filesystem yang anda lakukan ingin Anda cari.

nyanyian pujian
sumber