Ne peut pas recursive copier un répertoire caché – UNIX

J’essaie actuellement de copier récursivement un répertoire caché à l’aide de cette commande

cp -r ../openshiftapp/.openshift . 

Ça ne marche pas .. qu’est-ce qui peut être faux?

Sous OS X, vous devez utiliser -R plutôt que -r . La page de manuel (sur Snow Leopard 10.6.8) indique:

Les versions historiques de l’utilitaire cp avaient une option -r . Cette implémentation prend en charge cette option. Cependant, son utilisation est fortement déconseillée car elle ne copie pas correctement les fichiers spéciaux, les liens symboliques ou les fichiers fifo.

L’option récursive pour la commande cp serait utilisée sur les répertoires, pas sur les fichiers. La documentation indique:

 -R, -r, --recursive copy directories recursively 

Les documents OSX ont plus d’informations, mais ne suggèrent pas que cette option puisse être utilisée avec des fichiers. Au lieu de cela, il mentionne toujours leur utilisation pour copier le contenu du répertoire:

  -R If source_file designates a directory, cp copies the directory and the entire subtree connected at that point. If the source_file ends in a /, the contents of the directory are copied rather than the directory itself. This option also causes symbolic links to be copied, rather than indirected through, and for cp to create special files rather than copying them as normal files. Created directories have the same mode as the corresponding source directory, unmodified by the process' umask. In -R mode, cp will continue copying even if errors are detected. Note that cp copies hard-linked files as separate files. If you need to preserve hard links, consider using tar(1), cpio(1), or pax(1) instead.