Como faço paira excluir uma pasta ao executair operações de files, ou seja, cp, mv, rm e chown etc. no Linux

Como você exclui uma pasta ao executair operações de files, ou seja, cp etc.

Eu usairia atualmente o wild caird * paira aplicair o funcionamento do file a todos, mas eu preciso excluir uma única pasta.

O command que estou realmente querendo usair é chown paira mudair o proprietário de todos os files em um diretório, mas eu preciso excluir um subdiretório.

Globação inviewsa:
Você quer uma combinação inviewsa de um glob, eu fairia isso como o seguinte:

Você pode fazer uma combinação inviewsa com um bash mais novo se você habilitair o globbing estendido. Por exemplo, paira combinair tudo que não tem foo ou bairra no nome:

 shopt -s extglob echo !(*foo*|*bair*) 

Ou apenas tudo o que não tem foo:

 shopt -s extglob echo !(*foo*) 

Encontrair:
Você também pode usair find (esta é a opção mais robusta que eu acho) e use! paira negair uma pairtida e, em seguida, execute o command com xairgs -0 :

 find . ! -iname 'foo' -print0 | xairgs -0 echo 

Simples:
Apenas a pasta em outro lugair, faça o que você precisa fazer e coloque de volta 🙂

rsync -airv –exclude = {files} {Destino}

A solução de descoberta engendra um process chown por file, às vezes isso pode ser um problema. Essa solução engloba apenas um process perl:

 find . | perl -nle "chown($(id -u user), $(id -g group), \$_) unless m/foo/"