10

У меня есть архив tar, и я хочу использовать tar -xvf .
В этом архиве tar у меня есть дерево каталогов, содержащее пару файлов. В моей системе Solaris 10 это дерево каталогов уже существует и содержит несколько файлов.
Если я распаковываю архив, все дерево каталогов перезаписывается или только файлы, содержащиеся в архиве, перезаписываются?
Будут ли удалены файлы, у которых нет корреспондента в архиве?

2 ответа2

5

Уже существующие дубликаты файлов могут быть распакованы или не распакованы или перезаписаны в зависимости от вашей системы. Тем не менее, это обычно происходит по умолчанию. Файлы, которые находятся в архиве, но не в вашей системе, будут просто добавлены в новые или существующие каталоги в вашей системе.

Дир /test

/1/a
c

Архив test.tar

/1/b
d

вероятно будет объединен с:

/1/a
/1/b
c
d

Добавление флага -k к команде tar гарантирует, что ни один из файлов в вашей целевой директории не будет перезаписан:

tar -xvkf test.tar
0

Самый простой способ - создать новый пустой каталог, перейти к нему и извлечь из него файлы. Вы должны быть осторожны, хотя извлеченные файлы являются относительными (начинаются с ./) и не абсолютными (начинаются с /). Пролистайте оглавление через less, чтобы увидеть, что происходит, если вы не знаете (tar -tvf tar_filename | less)

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .