Ця відповідь показує, що можна копіювати всі файли, включаючи приховані, з каталогу 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
працює..
і..
це каталоги, як і будь-які інші каталоги, в них немає нічого магічного та загадкового.