Je veux copier les attributs (propriété, groupe, ACL, attributs étendus, etc.) d'un répertoire dans un autre mais pas le contenu du répertoire lui-même.
Cela ne fonctionne pas:
cp -v --attributes-only A B
cp: omitting directory `A'
Remarque: ce n'est pas obligatoire cp
.
filesystems
backup
file-copy
xattr
Grzegorz Wierzowiecki
la source
la source
-r
, donc il ignore les répertoires. Mais je suppose que vous voulez copier uniquement les attributs, pas le contenu? Je ne peux penser qu'à des vilains hacks. Notez également queinstall
peut préserver les contextes SELinux.Réponses:
Après pas mal de tâtonnements sur la ligne de commande, je pense avoir trouvé la réponse. Mais ce n'est pas une
cp
réponse liée.rsync -ptgo -A -X -d --no-recursive --exclude=* first-dir/ second-dir
Cela fait:
Pour référence
la source
USAGE
section de larsync(1)
page de manuel.rsync -a -AX --include='*/' --exclude='*'
. Je n'ai pas testé.la source
--no-recursive
. Le problème avec cette réponse est qu'elle ne fait ni ACL ni XATTR.-r
- récursif-f
- Obliger-p
- préserver les attributs: mode, propriété, horodatagesla source
Je ne comprends pas car cela semble fonctionner pour les autres, mais la méthode rsync échoue pour moi sur FreeBSD avec ZFS. Rien ne se passe. Mais la méthode de Jean-François Dockes fonctionne. (voir: https://www.lesbonscomptes.com/pxattr/ ) Répertoire source = A & répertoire de destination = B, à partir de la question d'origine.
(éditez la première ligne de tmp.EAs pour changer le répertoire A en B, s / A / B /)
la source
pyxattr
et j'ai essayé ça aussi. C'était une sorte d'écrou difficile à casser. Soi-disant gnu cp fonctionne pour cela, mais je ne peux pas y aller. Les attributs étendus méritent mieux que cela. De plus, pxattr fonctionne au moins sous linux, osx et bsd.où dst_dir - est un répertoire cible. Ou:
où dst_dir - est un répertoire contenant le répertoire cible ou un répertoire cible inexistant.
Depuis la page de manuel de rsync:
la source
Vous avez besoin du "-r" pour copier un répertoire.
la source
-r
implique la copie de tous les sous-répertoires et fichiers qu'ils contiennent ... Je ne veux pas copier l'arborescence entière ... Je veux copier les attributs pour un seul et un seul répertoire - sans affecter son contenu.