Risposte:
Il punto ( .) è solo la .directory all'interno di una directory che è la stessa della directory stessa (te ls -la /foola mostrerà). Quindi, se copi foo/.altrove, copi effettivamente tutto l'albero sottostante foosenza copiarlo foo(lo stai copiando in quello foo2/.che è lo stesso di foo2).
/foo/*viene espanso dalla shell all'elenco di file e directory non nascosti in /foo, quindi copierà anche la stessa struttura di directory /fooin /foo2, ad eccezione dei dotfile / dotdir. In effetti, cpriceverà (potenzialmente) molti argomenti. Se l'elenco è troppo grande, potrebbe anche cpnon riuscire l'esecuzione di .
set -xo echo cp -pr /foo/* /foo2per vedere cosa sta succedendo. È importante rendersi conto che è la shell che espande i caratteri jolly. cpnon vede la stella.
cp -r /foo/*, la stessa cosa dicp /foo/*?