Методы копирования файлов Bash: исключение определенных каталогов

Чтобы скопировать файлы в Bash, исключив определенные каталоги, вы можете использовать несколько методов. Вот несколько примеров:

Метод 1: использование rsync

rsync -av --exclude='dir1' --exclude='dir2' source_directory/ destination_directory/

В этом примере замените dir1и dir2именами каталогов, которые вы хотите исключить. source_directory— это каталог, содержащий файлы, которые вы хотите скопировать, а destination_directory— это целевой каталог, в который вы хотите скопировать файлы.

Метод 2: использование find и cp

find source_directory/ -type f -not -path '*/dir1/*' -not -path '*/dir2/*' -exec cp -t destination_directory/ {} +

В этом примере замените dir1и dir2именами каталогов, которые вы хотите исключить. source_directory— это каталог, содержащий файлы, которые вы хотите скопировать, а destination_directory— это целевой каталог, в который вы хотите скопировать файлы.

Метод 3. Использование tar

tar -C source_directory/ -cf - . --exclude='dir1' --exclude='dir2' | tar -C destination_directory/ -xpf -

В этом примере замените dir1и dir2именами каталогов, которые вы хотите исключить. source_directory— это каталог, содержащий файлы, которые вы хотите скопировать, а destination_directory— это целевой каталог, в который вы хотите скопировать файлы.