(De: /programming/15245144/copy-file-permissions-but-not-files , fermé car hors sujet)
J'ai deux copies de la même arborescence de répertoires. Ils ont presque les mêmes fichiers dans les deux (une version peut avoir quelques fichiers supplémentaires ou manquants). Cependant, la plupart des fichiers sont communs aux deux répertoires (ont les mêmes chemins d'accès relatifs et tout).
Supposons que ceux-ci se trouvent dans des répertoires:
version1/
version2/
Le problème est que les autorisations de la version1 / ont été gâchées, et je voudrais copier les autorisations de la version2 /, mais faites-le sans remplacer les fichiers de la version1 / qui sont plus récents.
Existe-t-il un moyen automatisé de le faire via des commandes shell ou des scripts?
unix
file-permissions
unix-shell
copying
Mariano Paniga
la source
la source
Réponses:
GNU cp connaît le
--attributes-only
drapeau depuis coreutils 8.6la source
Ma version de
cp
n'a pas le--attributes-only
drapeau, j'ai donc travaillé dessus. Brièvement testé sur des dossiers simples, YMMV.la source
Vous pouvez, mais je ne pense pas de manière "automatisée"!
GNU chown et GNU chmod ont un
--reference=RFILE
paramètre que vous pouvez utiliser.Il utilise des
RFILE
paramètres (autorisations, propriétaire, groupe, etc.) et les copie dansyourfile
.le manuel explique plus en détail.
la source
Dans mon cas, j'ai résolu en utilisant la commande "stat" avec "find" et "vi" pour créer un script qui applique les autorisations.
Dans "vi" j'ai inséré dans toutes les lignes la commande "chmod":
%s/^/chmod /g
j'ai copié le script dans leversion2/
répertoire et l' ai exécuté.D'autres solutions semblent valables mais je ne les ai pas testées au cas où.
la source
Inspiré par la réponse de Mariano Paniga, je pense que j'en ai une meilleure, qui n'a pas besoin de vi et de rechercher / remplacer des commandes. Je veux même copier les informations de propriété aussi (uid / gid).
Vous pouvez personnaliser les commandes à l'intérieur
stat -c '...'
en ce que vous voulez. Pour toutes les options disponibles, voirman stat
.la source