Único comando “find” com múltiplos argumentos?

0

Eu preciso criar um único comando find que pesquise:

  • Todos os programas C # ou Java
  • Localizado no diretório inicial do usuário atual
  • Tenha pelo menos um link físico
  • legível para todos
  • Ter pelo menos um conjunto de bits de gravação
  • Não é executável para ninguém

Eu encontrei respostas para tudo, exceto o último critério, e aqui está meu código:

find /home -name "*.c" "*.java" -links 1 (-perm -a=r -a -perm -a=!x)

Eu realmente não acho certo e está incompleto. Ajuda?

    
por slhck 24.03.2013 / 14:40

1 resposta

1

find $HOME \(-name '*.java -o -name '*.c' \) \    # home directory && filenames
      -link +0                               \    # one or more hard links
      ! -perm -111                           \    # not executable by anybody  -111 means "any of" 
       -perm /444                            \    # at least one write bit set
       -perm 666                                 # ugo read

Você pode juntar isso de volta em uma linha mais longa e mais difícil de ler. Eu terminei para torná-lo legível.

    
por 24.03.2013 / 21:53