Я пытаюсь создать архив tar папки thisfolder
но хочу опустить названную подпапку notthisfolder
. Кто-то может показать мне, как сделать это? Я попробовал к tar'ing всю папку и удаление того, которое я хочу опустить, но что конкретная папка составляет 17 ГБ.
\thisfolder
file1
file2
\notthisfolder
omitfile1
omitfile2
\butincludethisfolder
includefile1
infludefile2
Я использовал tar --exclude='notthisfolder' -zcvpf archive.tar /thisfolder/
Ваша команда почти корректна. Используйте
tar cvfzp achive.tar.gz --exclude notthisfolder thisfolder/
Примечание, что --exclude notthisfolder
опция идет после название архива.
Косметический комментарий: при использовании z
опция, Вы используете gzip для сжатия tarball, так назовите архив archive.tar.gz
а не archive.tar
.
кроме того, /thisfolder/
полный путь и указывает на папку thisfolder
внутренняя часть корневой каталог /
. Для определения относительного пути (к текущему рабочему каталогу), используйте thisfolder/
без ведущей наклонной черты /
.
так же мало лакомого кусочка, Вы не должны снабжать префиксом эти cvfzp
опции с -
. Один меньше символа для ввода!
Работы для меня;)
$ tree
.
└── thisfolder
├── butincludethisfolder
│ ├── includefile1
│ └── includefile2
├── file1
├── file2
└── notthisfolder
└── notthisfile
3 directories, 6 files
$ tar cvfzp achive.tar.gz --exclude notthisfolder thisfolder/
thisfolder/
thisfolder/butincludethisfolder/
thisfolder/butincludethisfolder/includefile1
thisfolder/butincludethisfolder/includefile2
thisfolder/file1
thisfolder/file2
От man tar
:
--exclude=PATTERN
exclude files, given as a PATTERN
Так, учитывая каталог как это:
terdon@oregano foo $ tree
.
└── thisfolder
├── butincludethisfolder
│ ├── includefile1
│ └── includefile2
└── notthisfolder
├── omitfile1
└── omitfile2
Вы могли выполнить следующий tar
команда для получения то, что Вы хотите:
tar -cvzf foo.tar --exclude notthisfolder thisfolder/
, Который создаст tar.foo
, который содержит:
$ tar xvzf foo.tar
thisfolder/
thisfolder/butincludethisfolder/
thisfolder/butincludethisfolder/includefile2
thisfolder/butincludethisfolder/includefile1
Это похоже на Вас, синтаксис является неправильным.
Это должно больше быть похожим на это:
tar -zcvpf /where/you/store/backups/archive.tar /thisfolder --exclude "/notthisfolder" --exclude "/notthisfolder/omitfile1" --exclude "/notthisfolder/omitfile2"
или если опустить файлы - все в /notthisfolder
tar -zcvpf /where/you/store/backups/archive.tar /thisfolder --exclude "/notthisfolder"