Дополнительно
Как извлечь файлы в другой каталог с помощью команды 'tar'?
Я думал, что tar archive.tar /users/mylocation
будет работать, но это не так. Как я могу это сделать?
677
6
Чтобы извлечь архив в каталог, отличный от текущего, используйте опцию
-C
, или--каталог
, tar, как показано в примереОбратите внимание, что целевой каталог должен существовать до выполнения этой команды (он может быть создан командой
mkdir /target/directory
).О других опциях читайте в manual page (команда:
man tar
).Обратите внимание, что если ваш tarball уже содержит имя каталога, которое вы хотите изменить, добавьте опцию
--strip-components=1
:Объединение предыдущих ответов и комментариев:
Просто извлечь содержимое и создать целевой каталог, если он отсутствует:
Чтобы извлечь, а также удалить корневой (первого уровня) каталог в zip-архиве
Другой вариант заключается в использовании ... один-на высшем уровне. Это автоматически создаст каталог с именем оригинала.
Кроме того, если вы хотите, вы можете задать свой собственный и смолы создаст его автоматически.
Что я нашла интересным в связи с добычей, это зависит от того, как вы создали архив, см. В этом примере
когда вы делаете
тар-zcvf папку folder.tar.gz все как положено = когда вы распакуйте его теперь будут заасфальтированы (папка будет создать, если вы удалили его) как
папки/tmp//`.Но, когда вы будете создавать смол как
тар-zcvf tmp-folder.tar.gz папки /tmp/и распакуйте его в папку /tmp, результат будет каталог в/tmp папки/tmp/
! В таком случае вам придется распаковать его в / -тар-XF tmp-folder.tar.gz -с /
С дегтем 1.29, мы можем просто добавить имя каталога после дегтя именем. Например,