Esta resposta revela que é possível copiar todos os arquivos - incluindo os ocultos - do diretório src
para o diretório da seguinte dest
forma:
mkdir dest
cp -r src/. dest
Não há explicação na resposta ou em seus comentários sobre por que isso realmente funciona, e ninguém parece encontrar documentação sobre isso também.
Eu tentei algumas coisas. Primeiro, o 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
Então, com /.
no 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
Portanto, isso se comporta de maneira semelhante ao *
, mas também copia arquivos 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
.
e ..
são links físicos apropriados, conforme explicado aqui , assim como a própria entrada do diretório.
De onde vem esse comportamento e onde está documentado?