Відповіді:
Найпростіший спосіб, якщо вам особливо не потрібно використовувати, -Cщоб сказати, tarщоб змінити якийсь інший каталог, - просто вказати повний шлях до архіву в командному рядку. Тоді ви можете знаходитись у будь-якому каталозі, який ви віддаєте перевагу, щоб створити структуру каталогів, яку ви хочете всередині архіву.
Далі буде створено архів /var/www/file.tar.gzі поміщено file1з поточної директорії (що б там не було) в нього, без інформації про шлях до архіву.
tar czf /var/www/file.tar.gz file1
Шлях (до архіву, до складових файлів, або до обох), звичайно, також може бути відносним. Якщо ви file1перебуваєте в /tmp, ви перебуваєте /var/spoolі хочете створити архів /var/www, ви можете використовувати щось на кшталт:
tar czf ../www/file1.tar.gz /tmp/file1
Мільйон варіацій на тему, але це має розпочати. Додайте vпрапор, якщо хочете побачити, що tarнасправді робить.
$PWDце таке, здавалося, найбезпечніше використовувати абсолютний шлях у прикладі.
file1до архіву дьогтю буде /tmp. Це може бути або не бути тим, що ви очікуєте.
Я перетворюю стислі дані в потік (-) і легко перейменую та знаходжу (>), де я вибираю (Також я завжди орієнтуюся на відносний шлях (./), так що з ним легше розібратися при розтисканні)
tar -cvf - ./dir-to-compress/* > /location-of-new-file/filename.tar
-Cнабагато ідіоматичніше (і коротше).
Я думаю, це має бути:
tar czf file.tar.gz -C /var/www/ file1
Що працює для мене. Він повідомляє змінити каталог, а потім вибрати файл.
-C(що не дивно, як його неясно задокументовано). Докладніше див. Сервер default.com/q/416002/86283 .