Réponses:
Le point ( .) est juste le .répertoire à l'intérieur d'un répertoire qui est le même que le répertoire lui-même (vous ls -la /foole montrera). Donc, si vous copiez foo/.ailleurs, vous copiez efficacement tout l'arborescence ci-dessous foosans se copier foo(vous le copiez dans foo2/.lequel est le même que foo2).
/foo/*est étendu par le shell à la liste des fichiers et répertoires non cachés dans /foo, de sorte qu'il copiera également la même structure de répertoires /foodans /foo2, à l'exception des dotfiles / dotdirs. En effet, cprecevra (potentiellement) de nombreux arguments. Si la liste est trop grande, cela peut même entraîner l' cpéchec de l'exécution de .
set -xou echo cp -pr /foo/* /foo2pour voir ce qui se passe. Il est important de réaliser que c'est le shell qui étend les caractères génériques. cpne voit pas l'étoile.
cp -r /foo/*la même chose quecp /foo/*?