Как я извлекаю tarball, пропуская некоторые ведущие каталоги?

Я архивирую использование папки после команды:

tar jcf "home/username/forum/forum.tar.bz2" /var/www/forum/

Затем я извлекаю использование:

tar jxf forum.tar.bz2 ./

Это извлекает правильно, но создает /home/username/forum/var/www/forum папка. Что я должен сделать для извлечения его в /home/username/forum папка?

Спасибо

5
задан 2 September 2011 в 14:18

3 ответа

При создании использования архива -C /var/www/ изменить текущий каталог на/var/www при создании архива.

tar jcf home/username/forum/forum.tar.bz2 -C /var/www/ forum

Это заставит папку 'форума' быть на верхнем уровне архива и поэтому извлечет непосредственно в текущую папку, когда Вы будете работать:

tar jxf forum.tar.bz2 ./
6
ответ дан 23 November 2019 в 08:41

В дополнение к ответу dv3500ea можно использовать следующую команду для извлечения tarballs, содержащего var/www/forum/ кому: forum/:

tar xjf forum.tar.bz2 --strip-components=2

var/ и www/ два компонента контура, следовательно 2 в --strip-components.

Если Вы не уверены, что в tarball, используйте t опция:

tar tjf forum.tar.bz2

Передайте его по каналу через less так Вы использование клавиши со стрелками для прокрутки.

Общие сведения об опциях использовали:

  • x - извлекает tarball, я всегда помещаю его как первую опцию, так как является самым логичным видеть то, что делает команда
  • c - создает tarball
  • t - перечисляет содержание tarball
  • j - заставьте tar распаковать bzip2 сжатый tarballs. Это избыточно с .bz2 расширение, таким образом, можно удалить эту опцию также
  • f - эта опция ожидает имя файла как аргумент, это - любой tarball, который будет извлечен (tar xf file.tar.bz2) или созданный (tar cf file.tar.bz2)
12
ответ дан 23 November 2019 в 08:41

Быстрое (и возможно неправильно) решение должно было бы изменить Вашу команду для изменения каталогов перед тем, чтобы смолить. IE:

cd /var/www/forum; tar jcf "home/username/forum/forum.tar.bz2" .
0
ответ дан 23 November 2019 в 08:41

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

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