Je déplace un site Web d'un serveur à un autre et Git ne stocke pas de métadonnées telles que les autorisations de fichiers. J'ai besoin de trouver les répertoires et les fichiers qui ne sont pas respectivement 775/664.
En ce moment, j'utilise cet engin pavé:
$ find . -type d -exec ls -la {} \; | grep ^d | grep -v ^drwxrwxr-x
$ find . -type f -exec ls -la {} \; | grep -v ^d | grep -v ^-rw-rw-r-- | grep -v '.git'
Bien que cela fonctionne, je pense que c'est plutôt hacky. Y a-t-il une meilleure façon de le faire, peut-être une manière canonique, ou devrais-je simplement être pirate?
Cela fonctionne sur une version récente d'Ubuntu avec des outils GNU sous Bash.
permissions
find
dotancohen
la source
la source
-not
n'est pas une norme POSIX; ils utilisent à la!
place.Je n'ai aucune idée de ce que votre code essayait de réaliser. Normalement, la raison de rechercher des fichiers et des répertoires avec des autorisations incorrectes est dans le but de les modifier.
Voici donc ce que j'utilise avec succès dans Ubuntu 16.04
Cela démontre le! symbole échappé
la source