Создание архива tar из списка файлов и удаление полного пути

Я пытаюсь объединить два варианта создания архива tar, но они плохо работают вместе. Я не знаю в чем проблема.

Я использую:

tar -C /var/www/website html -cvzf html.tgz -T /tmp/htmllist.txt

Если я использую только опцию-C, он создает архив tar только с относительным путем "./html/", но все файлы в этой папке. Мне это совсем не нужно.

затем, если я использую только опцию-T, он создает архив tar только с требуемыми файлами, но путь является абсолютным "файл/var/www в/сайт/HTML-код/что угодно.формат HTML." Я тоже этого не хочу.

Я хочу комбинацию этих двух, но почему-то это не работает.

структура папок:

/var/www/website/html/
  • много .html файлы

/tmp / htmllist.папку текстовый содержит строки like:

  • в/var/www в/сайт/HTML-код/файл1.HTML-код
  • в/var/www в/сайт/HTML-код/file5.HTML-код
  • в/var/www в/сайт/HTML-код/file32.HTML-код

и так далее.

Как решить эту проблему?

25
задан Peter Mortensen
28.01.2023 13:02 Количество просмотров материала 3415
Распечатать страницу

1 ответ

Tar работает наоборот при использовании -T. Он архивирует файлы, включая полный путь. Если вам не нужен путь, удалите его при извлечении, например,

Создать архив

tar -C /var/www/website html -cvzf html.tgz -T /tmp/htmllist.txt

распакуйте архив

tar -xvf html.tgz --strip-path=3

это удаляет три компонента из пути вывода, т. е. /var/www/website.

1
отвечен bjanssen 2023-01-29 20:50

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх