This answer reveals that one can copy all files - including hidden ones - from directory src into directory dest like so:
mkdir dest
cp -r src/. dest
There is no explanation in the answer or its comments as to why this actually works, and nobody seems to find documentation on this either.
I tried out a few things. First, the normal case:
$ 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
Then, with /. at the end:
$ 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
So, this behaves simlarly to *, but also copies hidden files.
$ 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
. and .. are proper hard-links as explained here, just like the directory entry itself.
Where does this behaviour come from, and where is it documented?
cpreference clearly explains howcp -Rworks..and..are directories just like any other directories, there is nothing magical or mysterious about them. – AlexP Dec 06 '17 at 14:58.and..don't behave like other directories. – iFreilicht Dec 06 '17 at 15:07