Copie Unix Récursive Y compris tous les répertoires

J’ai les deux répertoires suivants:

~/A drawable/ imageb.png new/` newimage.png ~/B drawable/ imagec.png 

Lorsque j’utilise la commande cp -r ~/A/* ~/B newimage.png avec son nouveau dossier / est copié dans ~ / B mais imageb.png n’est pas copié dans ~ / B / drawable.

Pourriez-vous expliquer pourquoi c’est le cas et comment je peux contourner cela?

Utilisez tar au lieu de cp:

 (cd A ; tar cf - *) | (cd B ; tar xf -) 

ou de manière plus compacte (si vous utilisez GNU tar):

 tar cC A -f - . | tar xC B -f - 

Si vous êtes sur Linux, vous pouvez utiliser l’option -r .

ex: cp -r ~/A/. ~/B/ cp -r ~/A/. ~/B/

Si vous êtes sur BSD, vous pouvez utiliser l’option -R .

par exemple: cp -R ~/A/. ~/B/ cp -R ~/A/. ~/B/

Pour plus d’informations sur exactement quelle option vous devez passer, reportez-vous à man cp

Notez également que si vous ne disposez pas des permissions sur le fichier, cela empêcherait la copie des fichiers.