Как создать архив без иерархии

Как создать архив без иерархии

Я знаю, что есть много вопросов, которые кажутся одинаковыми, но я пока не нашел ответа.

Итак, предположим, что я нахожусь в текущем рабочем каталоге:/тест/ Я хотел бы добавить в архив 'test.tar.gz', который будет в/тест/архив/ все файлы, которые содержатся в/тест/файлы/и затем удалите этот каталог files/

Я пытался :

tar -cz -C archive -f "test.tar.gz" -C files ./* && rm -rf files

Но успеха не было.

Есть идеи ?

Спасибо! Нико

решение1

$ tar -zcvf archive/test.tar.gz files
files/
files/1
files/2
files/3

$ tar -zcvf archive/test.tar.gz -C files .
./
./1
./2
./3

в зависимости от того, какую структуру вы хотите получить.

решение2

Одна такая команда будет работать, если вы уже находитесь в/test

(tar -cvf - ./files/* | gzip >./archive/test.tar.gz) && rm -rf files

Используя -мы извергаем вывод tarкоманды на stdoutи затем передаем его на конвейер, gzipкоторый в свою очередь перенаправляет его вывод на./archive

Связанный контент