Odpowiedzi:
Kropka ( .) to tylko .katalog wewnątrz katalogu, który jest taki sam jak sam katalog ( ls -la /foopokaże ci go). Więc jeśli kopiujesz foo/.gdzie indziej, skutecznie kopiujesz całe drzewo poniżej foobez kopiowania foosamego siebie (kopiujesz je do foo2/.tego samego, co foo2).
/foo/*rozpręża się przez powłokę do listy niewyspecjalizowanych ukrytych plików i katalogów /foo, więc byłoby skopiować taką samą strukturę katalogów poniżej /foona /foo2jak dobrze, z wyjątkiem dotfiles / dotdirs. Skutecznie cpotrzyma (potencjalnie) wiele argumentów. Jeśli lista jest zbyt duża, może nawet spowodować cpniepowodzenie wykonania.
set -xlub, echo cp -pr /foo/* /foo2aby zobaczyć, co się dzieje. Ważne jest, aby zdać sobie sprawę, że to powłoka rozszerza symbole wieloznaczne. cpnie widzi gwiazdy.
cp -r /foo/*czy to samo cocp /foo/*?