Untar без справочника верхнего уровня

У меня есть tar (websites.tgz), который содержит кучу сайтов Drupal, которые загружаются, начиная с «htdocs»,

Мне нужно разбить их на

  • Почему «v» в mkfs.vfat?
  • Сбросить список файлов без их структуры каталогов
  • Связывание статической библиотеки при компиляции программы C
  • Как изменить интерпретацию переменной в `zsh`?
  • Как я могу перемещать файлы и просматривать прогресс (например, с индикатором выполнения)?
  • Добавление текста в конец текстового файла
  • /local/htdocs/web1 /local/htdocs/web2 

    и так далее. Но я не могу поместить файл sites.tgz в / local и извлечь вниз из-за разрешений. Сейчас он находится в моем домашнем каталоге. Как я могу разгрузить содержимое в / local / htdocs без включения каталога htdocs верхнего уровня?

    Я стараюсь избегать:

     /local/htdocs/htdocs/web1 /local/htdocs/htdocs/web2. 

    Спасибо за любую помощь.

  • zsh Интерпретировать / игнорировать команды, начинающиеся с '#' в качестве комментариев
  • Помощь в проверке целостности файлов TAR для резервного копирования
  • Список аудиофайлов с битовой скоростью в командной строке
  • Открыть tar-файл, который заканчивается на .b
  • Что означает «Недопустимый аргумент» в Solaris?
  • Безопасно ли использовать tar, даже если в именах файлов и путях есть некоторые символы, отличные от ASCII?
  • One Solution collect form web for “Untar без справочника верхнего уровня”

    Вы можете использовать опцию -C в некоторых реализациях tar, чтобы указать базовый путь для извлечения. Для вашего примера будут работать следующие.

     tar -xvz -C /local -f websites.tgz 

    Или если у вашего tar нет параметров -z или -C :

     gunzip < websites.tgz | (cd /local && tar xvf -) 
    Linux и Unix - лучшая ОС в мире.