
Я знаю, что есть много вопросов, которые кажутся одинаковыми, но я пока не нашел ответа.
Итак, предположим, что я нахожусь в текущем рабочем каталоге:/тест/ Я хотел бы добавить в архив '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