У меня есть некоторые каталоги с некоторыми файламиTar: создать архив исключить каталоги, кроме одного
dir_archive/somedir1
dir_archive/somedir2
dir_archive/somedir3
dir_archive/mydir
dir_archive/mydir/excludedir1
dir_archive/mydir/excludedir2
dir_archive/mydir/excludedir3
dir_archive/mydir/many_other_directories...
dir_archive/mydir/my_archive_dir
Я хочу создать деготь (GZ) архив dir_archive.tar.gz со всеми файлами и каталоги исключить
dir_archive/mydir/excludedir1
dir_archive/mydir/excludedir2
dir_archive/mydir/excludedir3
dir_archive/mydir/many_other_directories...
но включают
dir_archive/mydir/my_archive_dir
Я не хочу использовать --exclude
для каждого каталога
tar cvfz dir_archive.tar.gz --exclude=dir_archive/mydir/excludedir1 --exclude=dir_archive/mydir/excludedir2 --exclude=dir_archive/mydir/excludedir3
Я пытаюсь использовать --add-file
, но он не работает:
tar cvfz dir_archive.tar.gz --exclude=dir_archive/mydir --add-file=dir_archive/mydir/my_archive_dir dir_archive
Существует некоторый простой способ? Благодаря
Спасибо за исчерпывающие ответы – kubedan
Берегитесь, деготь неявно ставит '*' перед каждой строкой в -X ввода; dir_archive будет соответствовать dir_archive/dir_archive, который * может * быть большой сделкой. – rcreswick