Como excluir diretórios NFS com a localização?


9

Preciso procurar arquivos que não tenham usuário OU grupo.

find / -nouser -o -nogroup

Eu acho que está tudo bem. Mas não quero pesquisar compartilhamentos NFS. Como posso excluir os compartilhamentos NFS no comando find?


2
Tente find / -fstype ext4 -nouser -o -nogroupext3 substituto, etc. Se você não estiver usando ext4
doneal24

1
por favor postar isso como resposta
Gasko peter

@ DougO'Neal, você deve postar isso como resposta.
Tim Kennedy

1
@ DougO'Neal, que não parava findde descer para o nfs FS, apenas para não imprimir os arquivos que encontraria lá.
Stéphane Chazelas

Para utilizar -exec com algo como ducombinar -fstypee -xdev(aka -mount) parece necessária
Gert van den Berg

Respostas:


7

Com o GNU find, você pode usar o -fstypepredicado:

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

Dito isto, a abordagem de hymie provavelmente faz mais sentido: coloque na lista branca o FS que você deseja pesquisar, em vez de colocar na lista negra aqueles que não deseja pesquisar.

Se você deseja incluir apenas jfs2sistemas de arquivos (supondo que /esteja ativado jfs2), é necessário escrevê-lo:

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

Não escreva:

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

Enquanto isso impediria a findimpressão de arquivos no sistema de arquivos não-jfs2, isso não impediria o rastreamento desses sistemas de arquivos não-jfs2 (que você precisa -prune).

Observe que -a( AND, que está implícito se omitido), tem precedência sobre -o( OR ); portanto, é necessário observar se os parênteses são necessários ou não.

O comando correto acima é uma abreviação de:

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

10

O mais próximo que você provavelmente chegará é o uso -xdev, o que significa "Não desça diretórios em outros sistemas de arquivos". Em seguida, você precisa especificar quais sistemas de arquivos que você não deseja pesquisar.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.