#unix #tar #directory-structure #archive-tar
#unix #tar #структура каталогов #архив-tar
Вопрос:
Я не хочу создавать «плоский» архив, у которого нет внутренней структуры каталогов. Но я хочу, чтобы файлы верхнего уровня были «свободными», а не отражали структуру каталогов, в которой они были изначально.
Рассмотрим:
archives
|
data
|
site
|
file1.html
|
subdirectory
|
etc...
Если я cd
войду archives
и создам там свой tar, например: tar -czf archive.tgz ../data/site/*
когда я позже извлеку архив, он будет воссоздан data/site/...
заново, и тогда мне придется mv data/site/* ../some/other/dir
.
Я хотел бы иметь возможность просто tar -xzf archive.tgz -C ../some/other/dir
и иметь, например file1.html будь прямо там , внутри ../some/other/dir
.
Ответ №1:
Вместо cd
того, чтобы archives
вводить и запускать tar
там путь к содержимому tarfile, вы должны cd
указать, где находится содержимое, и указать путь к tarfile, который вы создаете:
cd data/site
tar -czf ../../archives/archive.tgz *
Ответ №2:
Вы также можете использовать эту опцию tar -czf archive.tgz --directory=data/site/ .
, не заходя в папку