Как мне сменить каталог без сохранения структуры каталога? - PullRequest
77 голосов
/ 17 апреля 2011

Я работаю над сценарием резервного копирования и хочу скопировать каталог с файлами:

tar czf ~/backup.tgz /home/username/drupal/sites/default/files

Это исправляет, но когда я распаковываю полученный файл, он включает полную файловую структуру: файлы находятся в home/username/drupal/sites/default/files.

Есть ли способ исключить родительские каталоги, чтобы результирующий tar просто знал о последнем каталоге (files)?

Ответы [ 6 ]

158 голосов
/ 17 апреля 2011

Используйте параметр --directory:

 tar czf ~/backup.tgz --directory=/home/username/drupal/sites/default files 
44 голосов
/ 29 мая 2013

Привет, у меня есть лучшее решение, когда войти в указанный каталог невозможно (Makefiles и т. Д.)

tar -cjvf files.tar.bz2 -C directory/contents/to/be/compressed .

Не забывайте точку (.) В конце !!

31 голосов
/ 17 апреля 2011
cd /home/username/drupal/sites/default/files
tar czf ~/backup.tgz *
2 голосов
/ 20 августа 2016

Чтобы заархивировать все txt (* .txt) файлы из /home/myuser/workspace/zip_from/ для /home/myuser/workspace/zip_to/ без структуры каталогов исходных файлов используйте следующую команду:

tar -P -cvzf /home/myuser/workspace/zip_to/mydoc.tar.gz  --directory="/home/myuser/workspace/zip_from/" *.txt
0 голосов
/ 18 января 2019

Это сработало для меня:

gzip -dc "<your_file>.tgz" | tar x -C <location>
0 голосов
/ 14 ноября 2012
tar -Cczf ~/backup.tgz /home/username/drupal/sites/default/files

-C делает CD для вас

...