Esta respuesta revela que uno puede copiar todos los archivos, incluidos los ocultos, del directorio srcal directorio de la siguiente destmanera:
mkdir dest
cp -r src/. dest
No hay una explicación en la respuesta o en sus comentarios sobre por qué esto realmente funciona, y nadie parece encontrar documentación sobre esto tampoco.
Probé algunas cosas. Primero, el caso normal:
$ 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
Luego, con /.al final:
$ 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
Entonces, esto se comporta de manera similar a *, pero también copia archivos ocultos.
$ 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
.y ..son enlaces duros adecuados como se explica aquí , al igual que la entrada del directorio en sí.
¿De dónde viene este comportamiento y dónde está documentado?
., y ..no se comportan como otros directorios.
cpreferencia explica claramente cómocp -Rfunciona..y..son directorios como cualquier otro directorio, no hay nada mágico o misterioso en ellos.