Ta odpowiedź pokazuje, że można skopiować wszystkie pliki - w tym ukryte - z katalogu srcdo katalogu w następujący destsposób:
mkdir dest
cp -r src/. dest
W odpowiedzi ani w komentarzach nie ma wyjaśnienia, dlaczego tak naprawdę działa, i nikt nie wydaje się na to znaleźć dokumentacji.
Wypróbowałem kilka rzeczy. Po pierwsze, normalny przypadek:
$ mkdir src src/src_dir dest && touch src/src_file src/.dotfile dest/dest_file
$ cp -r src dest
$ ls -A dest
dest_file src
Następnie /.na końcu:
$ mkdir src src/src_dir dest && touch src/src_file src/.dotfile dest/dest_file
$ cp -r src/. dest
$ ls -A dest
dest_file .dotfile src_dir src_file
Zachowuje się to podobnie *, ale także kopiuje ukryte pliki.
$ mkdir src src/src_dir dest && touch src/src_file src/.dotfile dest/dest_file
$ cp -r src/* dest
$ ls -A dest
dest_file src_dir src_file
.i ..są odpowiednimi linkami, jak wyjaśniono tutaj , podobnie jak sam wpis katalogu.
Skąd się bierze to zachowanie i gdzie jest to udokumentowane?
.i ..nie zachowuj się jak inne katalogi.
cpOdniesienia wyraźnie wyjaśnia, jakcp -Rdziała..i..są katalogami, tak jak wszystkie inne katalogi, nie ma w nich nic magicznego lub tajemniczego.