A opção –exclude para comandos recursivos

Este é um daqueles “Achei que todo mundo soubesse disso.” dicas. Recentemente, descobri que algumas pessoas não sabem que alguns comandos GNU / * nix que operam recursivamente têm uma --excludeopção para que você possa pular certos diretórios.

A conversa surgiu ao falar sobre ctags– mas aqui estão alguns outros comandos que têm o mesmo:

  • diff
  • rsync
  • tar
  • grep
  • du

Então, man <the_command>e procure --exclude. Muitos desses programas também terão um --exclude-fromou permitir que você forneça um @nome de arquivo prefixado para a --excludeopção para que você possa fornecer um arquivo que contenha uma lista de diretórios / caminhos a serem excluídos.

Observe os detalhes de cada comando, alguns são bastante exóticos (especialmente rsync) e alguns têm outras opções relacionadas (como greptem --exclude-dir)