回答:
ドット(.)は.、ディレクトリ自体と同じディレクトリ内のディレクトリです(ls -la /foo表示されます)。したがって、foo/.他の場所にコピーする場合は、それ自体fooをコピーせずに、以下のすべてのツリーを効果的にコピーしfooます(コピー先foo2/.はと同じですfoo2)。
/foo/*シェルによって、の非表示ではないファイルとディレクトリのリストに展開されるため、dotfiles / dotdirsを除いて、/foo同じディレクトリ構造がにコピー/fooさ/foo2れます。効果的にcpは、(潜在的に)多くの議論を受けます。リストが大きすぎると、の実行がcp失敗する可能性さえあります。
set -xまたはecho cp -pr /foo/* /foo2を使用して、何が起こっているかを確認します。ワイルドカードを展開するのはシェルであることを理解することが重要です。cp星が見えません。
cp -r /foo/*、と同じことをしcp /foo/*ますか?