cp -r без прихованих файлів


89

У мене є два каталоги, а один порожній.

Перший каталог має безліч підкаталогів із прихованими файлами. Коли я cp -rвміщую з першого каталогу у другий, приховані файли також копіюються. Будь-які рішення, щоб уникнути їх?


це можливо, але видалити їх після копії може бути простіше
Каролі Горват,

6
так, але переробка прихованих файлів в інші місця в моєму випадку становить загрозу безпеці.
Рахул,

Відповіді:


127

Ви можете використовувати rsync:

rsync -av --exclude=".*" src dest

1
Будь-які накладні витрати в порівнянні з КП?
Рахул,

2
@Rahul Мені не спало на думку оцінювати це, але я думаю, що вам не слід про це турбуватися
Євген Ярмаш

3
Це працює круто! Дякую людино! Тільки для інформації, rsync було б чудово, коли розмір файлу великий, але дорівнює cp у випадку менших файлів.
Рахул,

27

Ви можете зробити

cp -r SRC_DIR/* DEST_DIR

щоб виключити всі файли .fire та .dirs на рівні SRC_DIR, але все одно це призведе до копіювання всіх прихованих файлів у наступному рівні підкаталогів.


6
Саме в цьому проблема .. :)
Рахул,

9
Але це працює для GIT-Repos, якщо ви не хочете скопіювати весь GIT-індекс у .git / ...
Sedat Kilinc

1
Я + відповів, бо це рішення, яке я шукав. Я не хочу виключати всі невидимки на дереві, лише невидимки на кореневому рівні!
l008com

Інший варіант cp SOURCE/[!.]* TARGET.
Карел

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.