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