Confusion sur la command cp lors de la création d'un nouveau directory

Permettez-moi d'expliquer mon problème avec un scénario plus simple. Nous avons ces deux directorys: ~/Foo et ~/Bar . Foo contient les files test1.txt et test2.txt . Si j'exécute la command cp -R Foo Bar , le directory Bar contient maintenant un dossier Foo contenant les deux files text. Cependant, si j'exécute la command cp -R Foo Bar lorsque le directory Bar n'existe pas encore avant l'exécution de la command, le nouveau directory Bar ne contient pas de sous-directory Foo mais seulement les deux files .txt .

Pourquoi est-ce quand j'exécute la command dans la première situation qu'il crée un sous-directory avec les deux files mais dans la seconde situation, il suffit de copyr les deux files dans le nouveau directory? Le programme cp est-il censé fonctionner de cette façon?

La command cp Foo Bar indique "Copier le directory Foo dans la Bar ". S'il existe déjà, il mettra Foo intérieur de Bar . Si vous voulez explicitement copyr le contenu de Foo , utilisez cp -r Foo/ Bar/ ou, mieux, utilisez rsync -a . Pour élaborer: si Bar n'existe pas, il sera créé avec cp ; Si ce n'est pas le cas, il agira comme destination dans laquelle vous voulez copyr les files.