Добавить или удалить файл из tar и tar.gz

Я хочу добавить файлы в foo.tar:

tar -rvf foo.tar IMG_1807.MOV

это работает, но когда я хочу удалить файлы:

tar -dvf foo.tar IMG_1807.MOV

не работает Показывает вывод:

Terminal:~/Desktop$ tar -dvf foo.tar IMG_1807.MOV 
IMG_1807.MOV
Terminal:~/Desktop$ tar -tvf foo.tar
-rw-rw-r-- user/user    33084363 2018-12-19 03:02 IMG_1807.MOV

но ничего не удаляет. Что я должен делать?

Во-вторых, как я могу добавить или удалить файлы из file.tar.gz или же file.tar.bz2 или же file.tar.xz? Есть ли какая-либо команда, или я всегда должен разархивировать и смолить снова?


Редактировать:

В-третьих: Как извлечь конкретный файл из архива? Или как извлечь из tar в определенном месте? Это НЕ работает:

 tar -xvf foo.tar IMG_1807.MOV -C /path/to/destination

1 ответ

-d это не удалить, а разн.

От man tar:

 -d, --diff, --compare
       find differences between archive and file system

использование --delete,

tar --delete -vf foo.tar IMG_1807.MOV

Вы не можете обновить tar.gz файл, посмотрите это и это.


Что касается вашего вопроса, как извлечь в конкретное место:

Вы должны следовать правильному порядку командной строки. -C как вариант идет раньше [pathname], Увидеть man tar для дополнительной информации. Следующие работы:

tar -xvf foo.tar -C /path/to/destination IMG_1807.MOV
Другие вопросы по тегам