TGViewer
DevOps Ready | IT DevOps Ready | IT @devops_ready · 7.6K subscribers
Post #1322 1.57K
Знали, почему cp ./src/* может тихо пропустить важные файлы?

В shell звёздочка выглядит как простой способ скопировать всё содержимое папки.

Например, так часто переносят конфиги, сборку или шаблон проекта:
cp -r ./src/* ./dst/


Но обычный glob * не включает скрытые файлы, имена которых начинаются с точки.

То есть такие файлы могут не попасть в копию:
.env
.gitignore
.dockerignore
.editorconfig


Для локального проекта это неприятно, а для деплоя или Docker build может стать настоящей проблемой. Приложение уедет без .env.example, Docker получит лишний build context, а форматтеры и линтеры будут вести себя иначе.

Один из надёжных вариантов использовать rsync со слешем в конце источника:
rsync -a ./src/ ./dst/


Так копируется именно содержимое директории, включая dotfiles.

Перед опасной синхронизацией можно сначала посмотреть план:
rsync -an ./src/ ./dst/


Ключ -n включает dry-run и показывает, что будет скопировано без реальных изменений.

Если хочется остаться на cp, можно явно копировать директорию целиком:
cp -a ./src/. ./dst/


Точка после src означает содержимое папки, а не только элементы, которые поймал glob.

В Bash есть и настройка dotglob:
shopt -s dotglob
cp -r ./src/* ./dst/


Но её лучше использовать осторожно, потому что она меняет поведение glob в текущем shell.

Для копирования содержимого папки вместе со скрытыми файлами чаще всего удобнее rsync -a ./src/ ./dst/ или cp -a ./src/. ./dst/.

➡️ DevOps Ready | #совет
  • 👍 11
  • ❤ 6
  • 🔥 5
More from @devops_ready
  1. Oct 1, 2026🔄 Безопасный арсенал практических инструкций, курсов и инструментов 👩‍💻 Linux & Bash 🤔…
  2. Oct 1, 2026Шпаргалка по жизненному циклу Pod в Kubernetes! На картинке показано, как запрос проходит…
  3. Sep 30, 2026DevOps Daily собирает материалы по инфраструктуре! На сайте есть разборы Docker, Kubernete…
  4. Sep 29, 2026Разбираем SSH 7 флагов для подключения и туннелей! SSH нужен не только для входа на сервер…
  5. Sep 28, 2026📂 Напоминалка по построению observability-матрицы для проекта! Наблюдаемость помогает пон…
  6. Sep 25, 2026Знали, почему grep может завершить shell-скрипт без ошибки в самой команде? grep возвращае…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →