cp -rf *
のように再帰的にコピーする方法はありますが、隠しディレクトリ(。で始まるディレクトリ)とその内容は除外しますか?
あなたは単にすべてをコピーすることができます
cp -rf
そして宛先で隠しディレクトリを削除します
find -type d -name '.*' -and -not -name '.' -print0 | xargs -0 rm -rf
または、高度なtar(例GNU tar))がある場合は、tarを使用して一部のパターンを除外することもできます。ただし、非表示のディレクトリのみを除外することはできませんが、隠しファイル。
たとえば、次のようなもの:
tar --exclude=PATTERN -f - -c * | tar -C destination -f - -x
ところで、GNU tarには除外スタイルオプションの動物園があります。私のお気に入りは
--exclude-vcs
一部のファイルを除いて、ディレクトリツリーをコピーするための適切なオプションは次のとおりです。
rsync:これは基本的にcpと大量の除外の可能性です。
rsync -a --exclude='.*' /source/ /destination
pax:いくつかの除外機能があり、POSIXに含まれているため、どこでも利用できるはずです(一部のLinuxディストリビューションでは、何らかの理由でデフォルトのインストールに含まれていません)。
cd /source && mkdir -p /destination && \
pax -rw -pp -s '!.*/\..*!!' . /destination
cp
の代わりに、rsync
を--exclude=PATTERN
。