смолите папку минус одна подпапка

Я пытаюсь создать архив tar папки thisfolder но хочу опустить названную подпапку notthisfolder. Кто-то может показать мне, как сделать это? Я попробовал к tar'ing всю папку и удаление того, которое я хочу опустить, но что конкретная папка составляет 17 ГБ.

\thisfolder
  file1
  file2
  \notthisfolder
    omitfile1
    omitfile2
  \butincludethisfolder
    includefile1
    infludefile2

Я использовал tar --exclude='notthisfolder' -zcvpf archive.tar /thisfolder/

1
задан 6 March 2014 в 03:18

3 ответа

Ваша команда почти корректна. Используйте

 tar cvfzp achive.tar.gz --exclude notthisfolder thisfolder/
  1. Примечание, что --exclude notthisfolder опция идет после название архива.

  2. Косметический комментарий: при использовании z опция, Вы используете gzip для сжатия tarball, так назовите архив archive.tar.gz а не archive.tar.

  3. кроме того, /thisfolder/ полный путь и указывает на папку thisfolder внутренняя часть корневой каталог /. Для определения относительного пути (к текущему рабочему каталогу), используйте thisfolder/ без ведущей наклонной черты /.

  4. так же мало лакомого кусочка, Вы не должны снабжать префиксом эти 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
2
ответ дан 11 November 2019 в 09:41

От 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
0
ответ дан 11 November 2019 в 09:41

Это похоже на Вас, синтаксис является неправильным.

Это должно больше быть похожим на это:

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"

0
ответ дан 11 November 2019 в 09:41

Другие вопросы по тегам:

Похожие вопросы: