Этот ответ показывает, что можно скопировать все файлы, включая скрытые, из каталога srcв каталог destследующим образом:
mkdir dest
cp -r src/. dest
В ответе или его комментариях нет объяснения, почему это действительно работает, и, похоже, никто не находит документацию по этому вопросу.
Я опробовал несколько вещей. Во-первых, нормальный случай:
$ 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
Затем с /.в конце:
$ 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
Таким образом, это ведет себя аналогично *, но также копирует скрытые файлы.
$ 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
.и ..являются правильными жесткими ссылками, как объяснено здесь , так же, как и сама запись каталога.
Откуда происходит это поведение и где оно задокументировано?
.и ..не ведите себя как другие каталоги.
cpСсылка ясно объясняет , какcp -Rработает..и..каталоги, как и любые другие каталоги, в них нет ничего волшебного или таинственного.