Я архивирую использование папки после команды:
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
папка?
Спасибо
При создании использования архива -C /var/www/
изменить текущий каталог на/var/www при создании архива.
tar jcf home/username/forum/forum.tar.bz2 -C /var/www/ forum
Это заставит папку 'форума' быть на верхнем уровне архива и поэтому извлечет непосредственно в текущую папку, когда Вы будете работать:
tar jxf forum.tar.bz2 ./
В дополнение к ответу 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
- создает tarballt
- перечисляет содержание tarballj
- заставьте tar распаковать bzip2 сжатый tarballs. Это избыточно с .bz2
расширение, таким образом, можно удалить эту опцию такжеf
- эта опция ожидает имя файла как аргумент, это - любой tarball, который будет извлечен (tar xf file.tar.bz2
) или созданный (tar cf file.tar.bz2
)Быстрое (и возможно неправильно) решение должно было бы изменить Вашу команду для изменения каталогов перед тем, чтобы смолить. IE:
cd /var/www/forum; tar jcf "home/username/forum/forum.tar.bz2" .