Yanıtlar:
Sadece her şeyi
cp -rf
ve ardından hedefteki gizli dizinleri
find -type d -name '.*' -and -not -name '.' -print0 | xargs -0 rm -rf
Alternatif olarak, bazı gelişmiş katranınız (örn. GNU katranı) varsa, bazı desenleri hariç tutmak için katranı kullanmayı deneyebilirsiniz. Ama korkuyorum ki sadece gizli dizinleri hariç tutmak mümkün değil, ama gizli dosyaları dahil etmek.
Örneğin böyle bir şey:
tar --exclude=PATTERN -f - -c * | tar -C destination -f - -x
Btw, GNU tar dışlama stil seçenekleri hayvanat bahçesine sahiptir. Benim favorim
--exclude-vcs
Bazı dosyalar dışında bir dizin ağacını kopyalamak için iyi seçenekler şunlardır:
rsync : bu temelde cp artı bir ton dışlama olasılığıdır.
rsync -a --exclude='.*' /source/ /destination
pax : bazı dışlama yetenekleri vardır ve POSIX'te bulunur, bu nedenle her yerde kullanılabilir olmalıdır (bazı Linux dağıtımlarının herhangi bir nedenle varsayılan kurulumlarına dahil olmaması dışında).
cd /source && mkdir -p /destination && \
pax -rw -pp -s '!.*/\..*!!' . /destination
alternatif olarak bir ile cp
kullanabilirsiniz .rsync
--exclude=PATTERN