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?


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 \)

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.