Как извлечь 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
задан 3 September 2011 в 02:18

21 ответ

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

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

Это приведет к тому, что папка «forum» будет находиться на верхнем уровне архива и поэтому будет извлекаться непосредственно в текущую папку при запуске:

tar jxf forum.tar.bz2 ./
6
ответ дан 25 May 2018 в 19:01

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

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

Это приведет к тому, что папка «forum» будет находиться на верхнем уровне архива и поэтому будет извлекаться непосредственно в текущую папку при запуске:

tar jxf forum.tar.bz2 ./
6
ответ дан 25 July 2018 в 21:22

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

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

Это приведет к тому, что папка «forum» будет находиться на верхнем уровне архива и поэтому будет извлекаться непосредственно в текущую папку при запуске:

tar jxf forum.tar.bz2 ./
6
ответ дан 31 July 2018 в 12:27

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

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

Это приведет к тому, что папка «forum» будет находиться на верхнем уровне архива и поэтому будет извлекаться непосредственно в текущую папку при запуске:

tar jxf forum.tar.bz2 ./
6
ответ дан 2 August 2018 в 03:02

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

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

Это приведет к тому, что папка «forum» будет находиться на верхнем уровне архива и поэтому будет извлекаться непосредственно в текущую папку при запуске:

tar jxf forum.tar.bz2 ./
6
ответ дан 4 August 2018 в 18:52

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

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

Это приведет к тому, что папка «forum» будет находиться на верхнем уровне архива и поэтому будет извлекаться непосредственно в текущую папку при запуске:

tar jxf forum.tar.bz2 ./
6
ответ дан 6 August 2018 в 03:15

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

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

Это приведет к тому, что папка «forum» будет находиться на верхнем уровне архива и поэтому будет извлекаться непосредственно в текущую папку при запуске:

tar jxf forum.tar.bz2 ./
6
ответ дан 7 August 2018 в 20:56

В дополнение к ответу 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 uncompress bzip2 сжатым tarballs. Это избыточно с расширением .bz2, поэтому вы также можете удалить эту опцию f - этот параметр ожидает имя файла как аргумент, это либо извлечение tarball (tar xf file.tar.bz2), либо созданное (tar cf file.tar.bz2) [ ! d6]
12
ответ дан 25 May 2018 в 19:01

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

cd /var/www/forum; tar jcf "home/username/forum/forum.tar.bz2" .
0
ответ дан 25 May 2018 в 19:01

В дополнение к ответу 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 uncompress bzip2 сжатым tarballs. Это избыточно с расширением .bz2, поэтому вы также можете удалить эту опцию f - этот параметр ожидает имя файла как аргумент, это либо извлечение tarball (tar xf file.tar.bz2), либо созданное (tar cf file.tar.bz2) [ ! d6]
12
ответ дан 25 July 2018 в 21:22

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

cd /var/www/forum; tar jcf "home/username/forum/forum.tar.bz2" .
0
ответ дан 25 July 2018 в 21:22

В дополнение к ответу 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 uncompress bzip2 сжатым tarballs. Это избыточно с расширением .bz2, поэтому вы также можете удалить эту опцию f - этот параметр ожидает имя файла как аргумент, это либо извлечение tarball (tar xf file.tar.bz2), либо созданное (tar cf file.tar.bz2) [ ! d6]
12
ответ дан 31 July 2018 в 12:27

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

cd /var/www/forum; tar jcf "home/username/forum/forum.tar.bz2" .
0
ответ дан 31 July 2018 в 12:27

В дополнение к ответу 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 uncompress bzip2 сжатым tarballs. Это избыточно с расширением .bz2, поэтому вы также можете удалить эту опцию f - этот параметр ожидает имя файла как аргумент, это либо извлечение tarball (tar xf file.tar.bz2), либо созданное (tar cf file.tar.bz2) [ ! d6]
12
ответ дан 2 August 2018 в 03:02

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

cd /var/www/forum; tar jcf "home/username/forum/forum.tar.bz2" .
0
ответ дан 2 August 2018 в 03:02

В дополнение к ответу 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 uncompress bzip2 сжатым tarballs. Это избыточно с расширением .bz2, поэтому вы также можете удалить эту опцию f - этот параметр ожидает имя файла как аргумент, это либо извлечение tarball (tar xf file.tar.bz2), либо созданное (tar cf file.tar.bz2) [ ! d6]
12
ответ дан 4 August 2018 в 18:52

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

cd /var/www/forum; tar jcf "home/username/forum/forum.tar.bz2" .
0
ответ дан 4 August 2018 в 18:52

В дополнение к ответу 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 uncompress bzip2 сжатым tarballs. Это избыточно с расширением .bz2, поэтому вы также можете удалить эту опцию f - этот параметр ожидает имя файла как аргумент, это либо извлечение tarball (tar xf file.tar.bz2), либо созданное (tar cf file.tar.bz2) [ ! d6]
12
ответ дан 6 August 2018 в 03:15

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

cd /var/www/forum; tar jcf "home/username/forum/forum.tar.bz2" .
0
ответ дан 6 August 2018 в 03:15

В дополнение к ответу 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 uncompress bzip2 сжатым tarballs. Это избыточно с расширением .bz2, поэтому вы также можете удалить эту опцию f - этот параметр ожидает имя файла как аргумент, это либо извлечение tarball (tar xf file.tar.bz2), либо созданное (tar cf file.tar.bz2) [ ! d6]
12
ответ дан 7 August 2018 в 20:56

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

cd /var/www/forum; tar jcf "home/username/forum/forum.tar.bz2" .
0
ответ дан 7 August 2018 в 20:56

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

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