При выполнении
cp -rdfp /some/source/path/* /some/dest/path
все файлы из /some/source/path
, вроде как, должны скопироваться в /some/dest/path
, однако этого не происходит и файлы, начинающиеся с точки (.htaccess, .bashrc и т.д.) не копируются.
Дело в том, что в bash существует ограничение при использовании шаблонов (wildcards) - по умолчанию символ * не включает в себя скрытые файлы (файлы начинающиеся с точки или dotfiles).
Чтобы скопировать (а также переместить командой mv
или удалить командой rm
) такие файлы, нужно сначала командой shopt
включить опцию dotglob
shopt -s dotglob
cp -rdfp /some/source/path/* /some/dest/path
shopt
без параметров покажет состояние всех опций оболочки
-s "включение" опции (от set)
-u "выключение" опции (от unset)