Questa risposta rivela che è possibile copiare tutti i file, inclusi quelli nascosti, dalla directorysrc
alla directory in questo dest
modo:
mkdir dest
cp -r src/. dest
Non vi è alcuna spiegazione nella risposta o nei suoi commenti sul perché questo effettivamente funziona, e nessuno sembra trovare documentazione su questo neanche.
Ho provato alcune cose. Innanzitutto, il caso normale:
$ 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
Quindi, con /.
alla fine:
$ 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
Quindi, questo si comporta in modo semplice *
, ma copia anche i file nascosti.
$ 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 ..
sono hard-link come spiegato qui , proprio come la voce della directory stessa.
Da dove viene questo comportamento e dove è documentato?
.
e ..
non si comportano come le altre directory.
cp
riferimento spiega chiaramente comecp -R
funziona..
e..
sono directory come qualsiasi altra directory, non c'è nulla di magico o misterioso in esse.